我需要一个jQuery选择器来获取所有已设置某些属性的p元素,无论值和属性名称如何。
XPath相关表达式为:
XPath相关表达式为:
"//p[@*]"
"//p[@*]"
<p>
元素,可以这样做:var pWithAttrs = $('p').filter(function() {
return this.attributes.length;
});
<p>
元素。<p>
相关联的attributes
数组的length
属性。如果length
为0
,则会从结果中删除它。
$.extend($.expr[':'], {
'hasAnAttr': function(elem, i, attr){
return elem.attributes.length;
}
});
var pWithAttrs = $('p:hasAnAttr');
attrs
:var selector = 'p';
for (var attrName in attrs) {
selector = selector + '[' + attrName + '=' + attrs[attrName] + ']';
}
}
这将创建一个形如以下的选择器字符串:
p[attrName0=attrValue0][attrName1=attrName1] ...
$(selector).remove();
我认为你不能使用表达式来做到这一点,但是你可以循环遍历p元素并检查具有属性的元素:
$('p').each(function(){
if(this.attributes.length > 0)
{
...do code...
}
});
$("p").each(function(){
if(this.attributes.size>0){
}
});
我不知道是否存在一个纯jQuery的解决方案。