jQuery - 选择具有以...开头的属性名称(非值)的所有元素?

时间:2013-09-23 15:36:17

标签: javascript jquery jquery-selectors css-selectors custom-data-attribute

说我正在寻找具有属性'data-language'的所有元素,其值以'java'开头(将匹配'java'和'javascript')。我知道怎么做:

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

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

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

2 个答案:

答案 0 :(得分: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;
 });

答案 1 :(得分:0)

jQuery有一个很好的功能。

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

$("div").data() // returns all data attributes to this div