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

时间:2014-03-24 17:09:10

标签: javascript jquery jquery-selectors attributes

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

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

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

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

有什么想法吗?

2 个答案:

答案 0 :(得分:1)

您正在使用属性相等选择器,因此您需要完全匹配。您可以使用*来获取包含给定属性值中的字符串的元素。如果您在开始时预期查找的字符串,那么您可以使用^而不是使用*来使用带选择器的启动码。您可以阅读有关通配符选择器here的更多信息。

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

答案 1 :(得分:0)

对于[data-multiplevalues='valuea'],该属性必须与该值完全相等,如果要选择具有包含空白空间的属性的元素,则可以使用

a[data-multiplevalues~='valuea']

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