我想检查一个节点本身是否有某个标签,或者是否有一个JavaScript的子节点。
<html>
<body>
<p>
<h3><a> This link lead nowhere!</a> </h3>
</p>
</body>
</html>
例如,在上面的代码中,如果我被赋予了负责p标签的节点,并且想要检查它是否有链接,那么检查它的最快方法是什么(没有链接的实际节点??
如果给定节点的名称是“node”,那么执行起来会更快:
function nodeContainsTag(node) {
return node.tagName == "A" || node.getElementsByTagName("a").length > 0 ;
}
或
function nodeContainsTag(node) {
return node.outerHTML.indexOf("<a") > 0;
}
第二个功能是否可以保证正常工作(即我是否需要检查区分大小写("<A"
)和间距(例如:"< a"
)?
答案 0 :(得分:0)
此功能更快
function nodeContainsTag(node) {
return node.tagName == "A" || node.getElementsByTagName("a").length > 0 ;
}
querySelector的工作速度也比这些慢。