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

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

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

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

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

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

最佳答案

没有捷径,可以使用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;
 });

关于javascript - jQuery - 选择属性名称(不是值)以...开头的所有元素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18963305/

相关文章:

javascript - 选择选项时更改选项的颜色

javascript - 在特定日期使用 jquery 显示图像,并且在这一天之后不显示

jquery - 我可以在 jQuery .css() 方法中使用伪类吗?

javascript - 将隐藏的输入值获取到jquery变量

javascript - Handlebars.js - 如何在模板中使用 JS 中的变量?

javascript - 如何使用数组上的流交集类型来扩展自动生成的类型?

javascript - 试图找出如何重新格式化 JSON 响应并重新格式化数据

JavaScript 表单提交链接

javascript - 多个 jQuery 工具提示相互干扰

javascript - 如何在没有事件的情况下选择 DOM 之外的元素?