我想在jQuery中选择任何 data
属性的所有元素。这可能吗?我知道如何在选择器中的属性值中使用通配符,但我找不到在属性名称中使用通配符的方法。
我不能使用.data()
因为它也匹配窗口等其他对象。我只想在HTML中选择具有data
属性的元素。
答案 0 :(得分:1)
试试这个
var $result = $('*').filter(function(){
return !$.isEmptyObject($(this).data());
});
或者如果您只是谈论属性:
var $result = $('*').filter(function(){
var ret = false;
$.each(this.attributes, function() {
if(/^data-/.test(this.nodeName)){
ret = true;
return false; //to break the loop
}
});
return ret;
});
也许不是最有效的方式,但是嘿