当同一属性有多个值时,如何通过数据属性获取元素

How to get an element by data attribute when there are multiple values for the same attribute?

本文关键字:何通过 数据属性 元素 获取 属性      更新时间:2023-09-26

当同一属性有多个值时,如何通过数据属性获取元素?

<a data-multiplevalues="valuea valueb valuec">Test</a>
$("a[data-multiplevalues='valuea valueb valuec']") - works
$("a[data-multiplevalues='valuea']") - doesn't work

任何想法?

您正在使用属性相等选择器,因此您需要精确匹配。您可以使用*来获取包含给定属性值中的字符串的元素。如果你正在寻找的字符串期望在开始,那么你可以使用开始与选择器使用^而不是使用*。你可以阅读更多关于通配符选择器在这里

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

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

a[data-multiplevalues~='valuea']

详情请参阅http://www.w3.org/TR/selectors/#attribute-selectors