Blogger Information
Blog 34
fans 0
comment 0
visits 19967
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
类数组、获取DOM元素、表单元素的获取、遍历DOM树
OC的PHP大牛之路
Original
397 people have browsed it

JS作用域

1.行内脚本:用在事件属性(onclick)
2.文档脚本:<script>xxx</script>
3.外部脚本:<script src='xxx.js'></script>

类数组

1.纯数组(真数组)

  1. const colors=['red','green','blue'];
  2. console.log(colors);
  3. // 0: "red"
  4. // 1: "green"
  5. // 2: "blue"
  6. // length: 3

特点:
1.每个值对应的键名:从0开始的正整数,如0,1,2,3…
2.有一个length属性,表示数组长度

2.类数组(对象字面量)

  1. const animals={
  2. 0:'dog',
  3. 1:'cat',
  4. 2:'pig',
  5. length:3,
  6. };
  7. console.log(animals);

类数组与纯数组的区别:原型不一样,纯数组基于构造器Array创建,类数组基于构造器Object创建;类
数组大量用于DOM操作。

3.访问(纯数组与类数组成员访问一样)

  1. console.log(colors[0],colors[1],colors[2]);
  2. console.log(animals[0],animals[1],animals[2]);

获取DOM元素

二种获取模式:
1.一组:使用querySelectorAll(),返回类数组
2.一个:使用querySelector(),返回一个DOM对象

  1. <ul class="list">
  2. <li class="iten">item1</li>
  3. <li class="iten">item2</li>
  4. <li class="iten">item3</li>
  5. <li class="iten">item4</li>
  6. <li class="iten">item5</li>
  7. <li class="iten">item6</li>
  8. </ul>

querySelectorAll(css-selector)

参数:css选择器

  1. // NodeList:节点列表对象
  2. const items=document.querySelectorAll('.list .item');
  3. console.log(items);
  4. // forEach(回调函数)
  5. // function(当前正在遍历的值,当前值的索引/键名)
  6. // 第二个值(当前值的索引/键名)可选
  7. items.forEach(function(v){
  8. console.log(v);
  9. v.style.backgroundColor='yellow';
  10. });
  11. // 简化
  12. items.forEach(v=>(v.style.backgroundColor='yellow'));

querySelector(css-selector)

返回“类数组”集合的“第一个”

  1. // 获取集合中的第一个元素
  2. const first=document.querySelector('.list .item')
  3. console.log(first);

注:querySelectorAllquerySelector可以在任何元素上调用

表单元素的获取

  1. <form action="login.php" method="post" id="login">
  2. <fieldset class="login">
  3. <legend>用户登录</legend>
  4. <label for="email">邮箱:</label>
  5. <input type="email" name="email" id="email" value="admin@php.cn" autofocus />
  6. <label for="password">密码:</label>
  7. <input type="password" name="password" id="password" value="123456" />
  8. <button>提交</button>
  9. </fieldset>
  10. </form>

1.获取表单(form.id)
console.log(document.forms.login);
2.获取表单控件(input.name)
console.log(document.forms.login.email);
3.获取表单控件的值(input.name.walue)
console.log(document.forms.login.email.value);

遍历DOM树

节点类型

  1. window:全局对象
  2. document:文档对象,html文件
  3. element:元素对象,<ul><li><table><form>…
  4. text:文本对象,item1,item2…
    1. <ul class="list">
    2. <li class="item">item1</li>
    3. <li class="item">item2</li>
    4. <li class="item">item3</li>
    5. <li class="item">item4</li>
    6. <li class="item">item5</li>
    7. <li class="item">item6</li>
    8. </ul>
    1. let ul=document.querySelector('.list');
    2. console.log(ul.childNodes);
    3. // ul.children:只返回元素类型的节点(类数组)
    4. console.log(ul.children);
    5. // 将类数组转为真数组
    6. console.log([...ul.children]);
    7. // 遍历
    8. // 第一个
    9. ul.firstElementChild.style.backgroundColor='yellow';
    10. // 第二个
    11. ul.firstElementChild.nextElementSibling.style.backgroundColor='red';
    12. // 最后一个
    13. ul.lastElementChild.style.backgroundColor='green';
    14. // 最后一个的前一个
    15. ul.lastElementChild.previousElementSibling.style.backgroundColor='blue';
    16. // 父节点(元素节点或文档节点)
    17. ul.lastElementChild.parentElement.style.border='2px solid red'
Correcting teacher:PHPzPHPz

Correction status:qualified

Teacher's comments:
Statement of this Website
The copyright of this blog article belongs to the blogger. Please specify the address when reprinting! If there is any infringement or violation of the law, please contact admin@php.cn Report processing!
All comments Speak rationally on civilized internet, please comply with News Comment Service Agreement
0 comments
Author's latest blog post