查找具有名称以某个字符串开头的特定属性的所有元素

时间:2012-10-08 20:10:59

标签: jquery html dom

说我有这样的元素:

<h1 data-myapp-title>Title</h1>
<p data-myapp-description>Description</p>

如何使用jQuery的“data-myapp- *”属性名称过滤它们?

1 个答案:

答案 0 :(得分:3)

不是防弹,但这应该让你接近。我把它放到一个选择器中以使它更容易一些,但这是一般的前提:

  • 返回具有与选择器
  • 匹配的属性的所有元素
  • 允许您指定通配符或正则表达式模式。 (简单的测试工作,但可能应该做更多)

(function($){
    $.expr[':']['attr'] = function(obj,index,meta,stack){
        var re = new RegExp(meta[3]), m = false;
        for (var a = 0; a < obj.attributes.length; a++){
            m |= re.test(obj.attributes[a].name);
        }
        return m;
    };
})(jQuery);

$(':attr(data-myapp-*)').css('color','#f0f');

jsFiddle