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

标签 jquery html dom

假设我有这样的元素:

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

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

最佳答案

虽然不是防弹的,但这应该能让你接近。我将其放入选择器中以使其更容易一些,但这是一般前提:

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

(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

关于jquery - 查找具有特定属性且名称以某个字符串开头的所有元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12788753/

相关文章:

javascript - 大量的 onclick 元素...或者一些 jquery

javascript -::moment()::jQuery 转换输入值并将其与给定日期进行比较

html - 如何将相邻选择器编辑为嵌套选择器

javascript - 如何防止在 php JS 中重新加载 div 中的 scrollHeight?

javascript - 您如何确定加载和 DOMContentLoaded 事件的触发顺序?

javascript - jQuery 对象上下文的区别

javascript - JQuery 清除自动完成组合框值

IE 和 Firefox 之间具有背景图像渲染差异的 HTML <thead>

java - 将文档转换为字符串时出错

javascript - jQuery Round Slider 添加速记值到范围