children和querySelectorAll之间的区别

共同点:

  1. children 所有的子元素
  2. querySelectorAll 也可以来找所有的子元素

不同点:

  1. 通过children获取到的元素集合(伪数组)是个动态集合,拿到的是实时的信息
  2. 通过querySelectorAll获取到的元素集合(伪数组)是个静态集合,拿到的只是页面初次加载时的信息

解释

  • 动态集合是会随着元素的变化而变化,元素增加了,集合就跟着增加了
    元素减少了,也会跟着减少。(拍视频)
  • 静态集合是不会随着元素的变化而变化。(拍照片)

例子

//html

<ul id="box">
    <li>这是第1个li</li>
    <li>这是第2个li</li>
    <li>这是第3个li</li>
    <li>这是第4个li</li>
</ul>
//js

var box = document.querySelector("#box");

var childs = box.children;
var child_all = box.querySelectorAll("li");

console.log(childs);//(4)[{li},{li},{li},{li}]
console.log(child_all);//(4)[{li},{li},{li},{li}]

// 添加一个li
var newLi = document.createElement("li");
newLi.innerText = "这是新建的";
box.appendChild(newLi);

console.log(childs);//(5)[{li},{li},{li},{li},{li}]
console.log(child_all);//(4)[{li},{li},{li},{li}]
  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值