假设我正在寻找具有属性“数据语言”的所有元素,其值以“java”开头(将匹配“java”和“javascript”)。我知道该怎么做:
$('[data-language^="java"]')
但我的问题是:如何让所有具有属性的元素(不是属性的值,而是实际的属性名称本身)以某些东西开头?例如:
- 所有属性名称以“data-s”开头的元素,或
- 所有具有数据属性的元素(属性以“data-”开头)。
假设我正在寻找具有属性“数据语言”的所有元素,其值以“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;
});
jQuery 有一个很好的功能。
$("div").data() // returns all data attributes to this div