我要做的是检查给定元素是否与css选择器匹配。据我所知,只有这样才能得到父节点,然后循环查询querySelectorAll找到的内容,最后检查找到的节点是否与我开始的节点相同。但问题是如何使池我必须循环变小。
代码:
function querySelectorMatch(node,query) {
var found = node.parentNode.querySelectorAll(query);
for (var i = 0; i<found.length; i++) {
if (found[i] === node) return true;
}
return false;
}
好的,这可行,但循环耗费我认为太多资源。好的,我可以检查父节点是否具有id和/或类,并将其附加到parent#id.class > query
等查询...但是在受影响的资源方面不会相同,因为代码必须这样做无论如何,它会更接近硬件...我不知道。
(请不要jQuery。)