我需要选择所有具有以给定前缀开头的属性的元素 - 注意我说的是属性名称,not价值。例如:
<div data-abc-name="value">...</div>
<a href="..." data-abc-another="something">...</a>
<span data-nonabc="123">...</span>
在上面的 HTML 中,我需要获取具有以下属性开头的所有元素data-abc-
- 那就是div
和a
.
我怎样才能做到这一点?
这是我的解决方案 -Fiddle https://jsfiddle.net/bvx9eyxg/。您必须创建自己的 jquery 选择器。
jQuery.extend(jQuery.expr[':'], {
attrStartsWith: function (el, _, b) {
for (var i = 0, atts = el.attributes, n = atts.length; i < n; i++) {
if(atts[i].nodeName.toLowerCase().indexOf(b[3].toLowerCase()) === 0) {
return true;
}
}
return false;
}
});
//e.g:
$('a:attrStartsWith("data-abc")').html('hello');
$('div:attrStartsWith("data-abc")').html('hello');
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)