假设我有这样的元素:
<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');
关于jquery - 查找具有特定属性且名称以某个字符串开头的所有元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12788753/