jQuery:选择具有某些属性集的所有 p 元素

标签 jquery jquery-selectors css-selectors

我需要一个 jquery 选择器来获取所有具有某些属性集的 p 元素,无论值是什么,也无论属性名称如何。

XPath相关表达式为:

"//p[@*]"

最佳答案

如果你说你想要 <p>至少有一个内联属性集的元素,您可以这样做:

示例: http://jsfiddle.net/ZRPv4/

var pWithAttrs = $('p').filter(function() {
    return this.attributes.length;
});

这将为您提供一组 <p>至少具有一个内联属性集的元素。

它测试 length attributes的属性(property)与当前 <p> 关联的数组在迭代中。如果length0 ,它将从结果中删除。

<小时/>

这是自定义选择器版本:

示例: http://jsfiddle.net/ZRPv4/1/

$.extend($.expr[':'], {
   'hasAnAttr': function(elem, i, attr){      
     return elem.attributes.length;
   }
});

var pWithAttrs = $('p:hasAnAttr');

关于jQuery:选择具有某些属性集的所有 p 元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4207247/

相关文章:

jquery - jQuery 中的 toggleClass 跳过 css 规则

html - 崩溃的过渡

javascript - 选择第一个非空的 span 元素

javascript - 如何使用 jQuery .next() 选择下 2 个(或 2 个以上)项目?

javascript - Jquery 绑定(bind)事件

debugging - Selector 的调试值

html - 将鼠标悬停在右侧时,左侧 div 确实会减小宽度

javascript - 动态搜索栏建议

jQuery 选择器 - 除第一个之外的所有选择器

"foo that contains bar"的 CSS 选择器?