【问题标题】:How to get an element by data attribute when there are multiple values for the same attribute?当同一属性有多个值时,如何通过数据属性获取元素?
【发布时间】:2014-05-02 04:49:06
【问题描述】:

同一个属性有多个值时如何通过data属性获取一个元素?

<a data-multiplevalues="valuea valueb valuec">Test</a>

$("a[data-multiplevalues='valuea valueb valuec']") - works

$("a[data-multiplevalues='valuea']") - doesn't work

有什么想法吗?

【问题讨论】:

    标签: javascript jquery jquery-selectors attributes


    【解决方案1】:

    您正在使用属性相等选择器,因此您需要完全匹配。您可以使用* 来获取包含给定属性值中的字符串的元素。如果您希望在开头看到的字符串,那么您可以使用以选择器开头的 ^ 而不是使用 * 您可以阅读有关通配符选择器 here 的更多信息。

    $("a[data-multiplevalues*='valuea']") 
    

    【讨论】:

      【解决方案2】:

      对于[data-multiplevalues='valuea'],该属性必须完全等于该值,如果您想选择一个具有包含空格分隔值的属性的元素,您可以使用

      a[data-multiplevalues~='valuea']
      

      更多信息请见http://www.w3.org/TR/selectors/#attribute-selectors

      【讨论】:

      • 看起来~ 有点严格,但正是我想要的
      猜你喜欢
      • 2022-01-15
      • 2016-02-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-07-28
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多