gpt4 book ai didi

Javascript 选择器引擎和内置函数

转载 作者:行者123 更新时间:2023-11-28 21:03:49 24 4
gpt4 key购买 nike

我找到了以下有关创建选择器引擎的教程。 http://blog.insicdesigns.com/2010/04/creating-your-own-selector-engine/

在 javascript 中,我们有类似

的函数
  • getElementById()
  • getElementsByTageName()
  • getElementsByName()

等等,.....但是对于相同的功能,在他们的选择器引擎中,他们正在执行类似的检查

 this.nodes[i].tagName == nm.toUpperCase() 

而不是 getElementsByTagName。这种方法的优点是什么?...

此外,使用

将所有节点分配给变量有什么用
 e.getElementsByTagName('*');

最佳答案

There is an inconsistency当您获取元素的 tagName 属性时。有些浏览器返回大写字母,有些浏览器返回小写字母。要标准化值的输出,您必须在继续进一步操作之前执行其中一项操作。

对于e.getElementsByTagName('*');i recently answered a question其中OP想要查找包含具有前缀mce_的属性name的所有元素。获取此类元素的唯一方法是获取 DOM 中的所有元素,并检查它们的属性名称。

这个getElementsByTagName('*')还有一个很好的应用,那就是确定元素的直接子元素。例如,在非常深的 DOM 中。如果我要根据某个属性查找某些父元素并获取其子元素,通常您会从主体向下进行递归搜索以查找父元素。这将需要大量的递归操作。然后,你决定他们的 child 。

另一种方法是获取所有标签,确定它们的父节点,如果它们的父节点具有该属性,则它们是直接子节点。此方法不需要递归,只需要 getElementsByTagName('*') 和返回的 nodeList 循环。

关于Javascript 选择器引擎和内置函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10353181/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com