Javascript 检查元素是否与选择器匹配
我已从创建了一个方法,用于检查元素是否与选择器匹配:Javascript 检查元素是否与选择器匹配,javascript,Javascript,我已从创建了一个方法,用于检查元素是否与选择器匹配: function matches(elm, selector) { var el = angular.element(elm)[0]; var matches = (el.document || el.ownerDocument).querySelectorAll(selector), i = matches.length; while (--i >= 0 && matches.i
function matches(elm, selector) {
var el = angular.element(elm)[0];
var matches = (el.document || el.ownerDocument).querySelectorAll(selector),
i = matches.length;
while (--i >= 0 && matches.item(i) !== el) ;
return i > -1;
}
这适用于ID、类等,但似乎不适用于标记,请参见屏幕截图:
您可以看到元素确实与选择器匹配,但函数返回false。我在这里做错了什么?为什么不能使用标准的
元素#matches
?只是想知道。恐怕是浏览器兼容性。你试过不同的浏览器吗?如果检查匹配项
列表,您会看到什么?iFrame是否有任何可能?angular.element(elm)[0]的含义是什么?如果将该行更改为var el=elm代码>?@torazaburo-结果是一样的。也就是说对其进行规范化,以便它可以处理DOM元素和Angular元素。