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

时间:2011-11-09 04:26:42

标签: javascript jquery jquery-selectors

例如:

<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
}  

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

2 个答案:

答案 0 :(得分:3)

您可以使用jQuery is方法。

类似的东西:

var li = document.getElementById("first-list");
matchSelector(li, "li.list");

function matchSelector(element, selector){  
  return $(element).is(selector);
}  

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

答案 1 :(得分:0)

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

例如:

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