如何检测一个html元素是否可以被选择器描述

How to detect if a html element could be described by a selector?

本文关键字:是否 描述 选择器 元素 一个 何检测 检测 html      更新时间:2023-09-26

例如:

<li class="list" id="first-list"></li>  
var li = document.getElementById("first-list");
matchSelector(li, "li.list"); // this should return true  

现在我的解决方案可以描述为:

function matchSelector(element, selector){  
     var all_matched_elements = $(selector);  
     return element in all_matched_elements
}  

,但显然这包括一些不必要的工作。
有没有更好的解决方案?

可以使用jQuery的方法。

类似:

var li = document.getElementById("first-list");
matchSelector(li, "li.list");
function matchSelector(element, selector){  
  return $(element).is(selector);
}  

工作示例:http://jsfiddle.net/NqwxQ/

使用jQuery的.is()来确定一个元素是否可以被指定的选择器匹配。这个函数返回一个布尔值。

例如:

var $li = $("li");
$li.each(function() {
    if ($(this).is(".list")) {
        // Take action
    }
});