博客列表 >class声明,属性,方法,静态方法与继承的语法、DOM元素的获取方法、DOM遍历的常用方法

class声明,属性,方法,静态方法与继承的语法、DOM元素的获取方法、DOM遍历的常用方法

Jet的博客
Jet的博客原创
2023年02月25日 20:03:39384浏览

一、class声明与实例化,属性,方法,静态方法与继承的语法

1.1、class声明与实例化、属性、方法:

  1. class User {
  2. // 1. 属性
  3. // 构造方法: new的时候(实例化时)自动调用
  4. constructor(uname,email) {
  5. this.uname = uname
  6. this.email = email
  7. }
  8. // 2. 方法
  9. // 自动创建到原型中
  10. say() {
  11. return `${this.uname}: ( ${this.email} )`
  12. }
  13. // 3. 静态成员
  14. static nation = 'China'
  15. let user = new User('金莲','jl@gmail.com')
  16. console.log(user.say())
  17. console.log(User.nation)
  18. }


1.2、继承

  1. // 创建子类时为了扩展父类的功能
  2. class Chlid extends User {
  3. constructor(uname,email,age) {
  4. super(uname,email)
  5. // super 等于 父类创建的属性
  6. // 当前的this是user的this,使用会报错
  7. this.age = age
  8. }
  9. say() {
  10. //return `${this.uname}: ( ${this.email} )`
  11. return `${super.say()}, ${this.age}`
  12. }
  13. }
  14. let child = new Chlid('武松','ws@gmail.com', 40)
  15. console.log(child)
  16. console.log(child.say())


二、DOM元素的获取方法

  1. <ul class="list">
  2. <li>item1</li>
  3. <li>item2</li>
  4. <li>item3</li>
  5. <li>item4</li>
  6. <li>item5</li>
  7. <li>item6</li>
  8. </ul>
  1. <script>
  2. // 1. 获取1组:querySelectorAll(selector)
  3. const items = document.querySelectorAll('.list > li')
  4. console.log(items)
  5. // 返回不是数组,是类数组
  6. console.log(Array.isArray(items))
  7. // NodeList对象,定义了一个forEach接口,可直接遍历
  8. items.forEach( item => console.log(item.textContent) )
  9. // 可用 Array.from 或者 ...rest 将类数组转为真正数组来用
  10. //Array.from(items).forEach( item => console.log(item.textContent) )
  11. //;[...items].forEach( item => console.log(item.textContent) )
  12. // 2. 获取1个:querySelector(selector)
  13. //first = items[0];
  14. let first = document.querySelector('.list > li')
  15. console.log(first);
  16. </script>


Nodelist可以使用forEach,但它不是真数组,如果想使用更多数组方法,需要转换
类数组转为真数组,可用以下两种方法: 【Array.from】 或者 【...rest】


三、获取表单数据

  1. <form action="login.php" method="post" id="login">
  2. <fieldset class="login" style="display: inline-grid; gap: 10px">
  3. <legend>用户登录</legend>
  4. <div>
  5. <label for="email">邮箱:</label>
  6. <input type="email" name="email" id="email" value="admin@php.cn" autofocus />
  7. </div>
  8. <div>
  9. <label for="password">密码:</label>
  10. <input type="password" name="password" id="password" value="123456" />
  11. </div>
  12. <button>提交</button>
  13. </fieldset>
  14. </form>
  1. // 1. 获取表单from:form.id
  2. const form = document.forms.login
  3. console.log(form)
  4. // 2. 获取表单控件: name id value
  5. const email = form.email
  6. const emailValue = form.email.value
  7. console.log(email)
  8. console.log(emailValue)
  9. console.log(document.body)
  10. console.log(document.title)
  11. // html
  12. console.log(document.documentElement)


四、DOM遍历的常用方法

  1. <ul class="list">
  2. <li>item1</li>
  3. <li>item2</li>
  4. <li>item3</li>
  5. <li>item4</li>
  6. <li>item5</li>
  7. <li>item6</li>
  8. </ul>
  1. let list = document.querySelector('.list')
  2. items = list.children
  3. console.log(items)
  4. // 第一个子元素
  5. console.log(list.firstElementChild)
  6. //下一个
  7. let first = list.firstElementChild
  8. let second = first.nextElementSibling
  9. console.log(second)
  10. // 最后一个
  11. console.log(list.lastElementChild)
  12. // 前一个
  13. let last = list.lastElementChild
  14. let prev = last.previousElementSibling
  15. console.log(prev)
  16. // 父节点
  17. let parent = last.parentNode
  18. console.log(parent)


笔记小记:

1. 类

  1. 声明: class声明
  2. 属性: constructor()
  3. 方法: method(){}简写
  4. 静态: static
  5. 继承: extends / super

2. 获取 DOM 元素

  1. 一组: querySelectorAll()
  2. 一个: querySelector()

3. 获取表单数据

  1. 表单: docment.forms.id
  2. 控件: form.name/id

页面快捷方法

  1. body : document.body
  2. head : document.head
  3. title : document.title
  4. html : document.documentElement
  5. url : document.URL

4. 遍历 DOM

  1. children: 元素类型子节点
  2. firstElementChild: 第一个子元素
  3. lastElementChild: 最后一个子元素
  4. nextElementSibling: 下一个兄弟元素
  5. previousElementSibling: 前一个兄弟元素
  6. parentElement: 父元素
声明:本文内容转载自脚本之家,由网友自发贡献,版权归原作者所有,如您发现涉嫌抄袭侵权,请联系admin@php.cn 核实处理。
全部评论
文明上网理性发言,请遵守新闻评论服务协议