在选择器中使用相对元素或链接查询选择器之间的区别
Difference between using relative elements in selector or chaining querySelector?
这两种查找其他指定元素中的元素的方法有什么区别?
// Chaining querySelector()
document.querySelector("#firstDiv").querySelector(".active");
document.querySelector("#firstDiv").querySelectorAll("p");
// Using relative elements
document.querySelector("#firstDiv .active");
document.querySelectorAll("#firstDiv p");
我应该使用哪种方法?有关系吗?如果是这样,为什么重要?
第一种方法容易出错;如果#firstDiv
不匹配任何内容,则对querySelector()
的第一次调用将返回 null,并且以下方法调用将失败并显示 TypeError。
第二种方法,只要你提供一个有效的选择器,永远不会抛出任何错误,因为你只处理对文档对象的单个调用,这是保证存在的。它只会返回与选择器匹配的元素,否则返回 null。
这两种方法是等效的,因为对元素对象querySelector()
或querySelectorAll()
的调用被视为后代(子树)查询。
相关文章:
- 未捕获的语法错误:无法在“文档”上执行“查询选择器”
- Rally App SDK 1.32:在最近的重组后,选择器无法使用通用查询访问PortfolioItems
- j查询未来元素选择器
- jQuery中的查询选择器导致无法识别的表达式
- j查询选择器不选择对象
- 事件冒泡与查询选择器
- 动态添加数据时按数据属性查询JQuery选择器
- 查询日期时间选择器未在另一个函数调用中获取日期
- 将查询选择器保存在要追加的变量中不起作用
- 不包含块引用的节点的查询选择器
- 查询选择器设置文本值
- 如何使用纯 Javascript 和文档查询选择器实现 jQuery .on() 函数
- 使用查询选择器查找同级行中包含的下一个单元格
- j查询多个和不断变化的 ID 选择器
- j查询错误选择器上的点击功能
- WebRTC文件传输和语法查询选择器
- 如何在聚合物中的自定义元素中成功查询选择器
- 使用字符串查询此选择器
- Chrome/Firefox中双美元符号选择器查询功能的来源是什么
- YUI3选择器/查询