jQuery:选择具有某些属性集的所有p元素
我需要一个jquery选择器来获取所有具有某个属性集的p元素,无论其值和属性名称如何 XPath相关表达式为: "//p[@*]" “//p[@*]”jQuery:选择具有某些属性集的所有p元素,jquery,jquery-selectors,css-selectors,Jquery,Jquery Selectors,Css Selectors,我需要一个jquery选择器来获取所有具有某个属性集的p元素,无论其值和属性名称如何 XPath相关表达式为: "//p[@*]" “//p[@*]” 如果您希望元素至少有一个内联属性集,可以执行以下操作: 示例: 这将为您提供一组至少具有一个内联属性集的元素 它测试与迭代中当前关联的属性的length属性。如果长度为0,则将从结果中删除它 以下是自定义选择器版本: 示例: 必须按如下方式生成选择器字符串: 如果您有一个属性名称和值数组attrs: var selector = 'p'; fo
如果您希望
元素至少有一个内联属性集,可以执行以下操作:
示例:
这将为您提供一组至少具有一个内联属性集的
元素
它测试与迭代中当前
关联的属性的length
属性。如果长度
为0
,则将从结果中删除它
以下是自定义选择器版本:
示例:
必须按如下方式生成选择器字符串:
如果您有一个属性名称和值数组attrs
:
var selector = 'p';
for (var attrName in attrs) {
selector = selector + '[' + attrName + '=' + attrs[attrName] + ']';
}
}
这将创建以下形式的选择器字符串:
p[attrName0=attrValue0][attrName1=attrName1] ...
然后在jQuery语句中使用该选择器:
$(selector).remove();
我不认为可以使用表达式来实现这一点,但可以循环p元素并检查那些具有属性的元素:
$('p').each(function(){
if(this.attributes.length > 0)
{
...do code...
}
});
我不知道是否存在一个纯jquery解决方案。元素的属性不一定在源代码中……您到底想在这里做什么?我试图得到至少有一个内联属性设置为已更正的元素。很抱歉延迟回复。
$(selector).remove();
$('p').each(function(){
if(this.attributes.length > 0)
{
...do code...
}
});
$("p").each(function(){
if(this.attributes.size>0){
}
});