4

假设我正在寻找具有属性“数据语言”的所有元素,其值以“java”开头(将匹配“java”和“javascript”)。我知道该怎么做:

$('[data-language^="java"]')

但我的问题是:如何让所有具有属性的元素(不是属性的值,而是实际的属性名称本身)以某些东西开头?例如:

  1. 所有属性名称以“data-s”开头的元素,或
  2. 所有具有数据属性的元素(属性以“data-”开头)。
4

2 回答 2

9

没有捷径,您可以使用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;
 });
于 2013-09-23T15:39:59.367 回答
0

jQuery 有一个很好的功能。

http://api.jquery.com/data/

$("div").data() // returns all data attributes to this div
于 2013-09-23T15:39:05.457 回答