当同一属性有多个值时,如何通过数据属性获取元素?
Posted
技术标签:
【中文标题】当同一属性有多个值时,如何通过数据属性获取元素?【英文标题】: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
有什么想法吗?
【问题讨论】:
【参考方案1】:您正在使用属性相等选择器,因此您需要完全匹配。您可以使用*
来获取包含给定属性值中的字符串的元素。如果您希望在开头看到的字符串,那么您可以使用以选择器开头的 ^
而不是使用 *
您可以阅读有关通配符选择器 here 的更多信息。
$("a[data-multiplevalues*='valuea']")
【讨论】:
【参考方案2】:对于[data-multiplevalues='valuea']
,该属性必须完全等于该值,如果您想选择一个具有包含空格分隔值的属性的元素,您可以使用
a[data-multiplevalues~='valuea']
更多信息请见http://www.w3.org/TR/selectors/#attribute-selectors
【讨论】:
看起来~
有点严格,但正是我想要的以上是关于当同一属性有多个值时,如何通过数据属性获取元素?的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 selenium webdriver、NUnit 和 C# 获取元素属性的子属性值