我正在尝试做的是查看一个 jQuery 对象(或者甚至是 DOM 元素)是否包含使用与 Sizzle 引擎相同的选择器的特定类。
jQuery 通过以下方式公开 Sizzle:
jQuery.find = Sizzle;
jQuery.expr = Sizzle.selectors;
jQuery.expr[":"] = jQuery.expr.filters;
jQuery.unique = Sizzle.uniqueSort;
我可以成功地使用 find 方法来确定一个特定的 DOM 元素有一个与我的选择器匹配的类,但我似乎无法找到一种方法来访问匹配的选择器的名称。
示例(未按预期工作)
$.fn.extend({
getMatchingClass: function(selector) {
return this.each(function() {
var match = jQuery.find.matches('*[class'+selector+']', [this]);
// I would like to return the matching class's FULL NAME,
// i.e. lightbox_RESTOFCLASS
alert(match[0]);
});
}
});
var class = $('#lightbox').getMatchingClass('^="lightbox_"');
是否可以使用 Sizzle 返回与我的选择器匹配的类名?