假设我要查找所有带有属性"data-language"的元素,其值以'java'开头(将匹配'java'和'javascript')。我知道如何实现:
$('[data-language^="java"]')
我的问题是:如何获取所有具有属性(不是属性值,而是实际的属性名称)以某个内容开头的元素?例如:
- 所有属性名称以“data-s”开头的元素,或
- 所有具有数据属性的元素(以“data-”开头的属性)。
假设我要查找所有带有属性"data-language"的元素,其值以'java'开头(将匹配'java'和'javascript')。我知道如何实现:
$('[data-language^="java"]')
我的问题是:如何获取所有具有属性(不是属性值,而是实际的属性名称)以某个内容开头的元素?例如:
没有捷径,您可以使用 attributes
集合:
$(someselector).filter(function(){
var attrs = this.attributes;
for (var i=0; i<attrs.length; i++) {
if (attrs[i].name.indexOf("someStartOfName")==0) return true;
}
return false;
});
$("div").data() // returns all data attributes to this div
$('div').filter(function () { return !$.isEmptyObject($(this).data()) })
可以满足您的需求,匹配任何带有数据属性的 DIV 元素。 - A. Wolff
$('[data-size^="value"]')
。但这样做不会实现该目的。 - j08691