2017-08-02 61 views
0

我有一长串<li>,每个属性都有data-val属性。实施例:使用使用jQuery定位元素后获取data-val的值[属性^ =值]选择器

<li data-val="yesterdayTrip">Trip</li>

jQuery的attribute^=value我可以找到基于部分字符串匹配特定<li>和使用CSS可以改变<li>。如:

$("[data-val^='yes']").css("background-color", "yellow");

但我不希望把背景黄色,我要得到充分data-val值。下面是不行的,但在我看来,它应该:

var fullValue = $("[data-val^='yes']").getAttribute("data-val");

我如何获得data-val价值?

+1

当你有'数据-VAL =“嘘“'在html中,只需使用'$(selector).data('val')'(省略属性名称中的'data-') – Kaddath

+0

谢谢,是的。 – Trialsman

回答

1

得到data-val属性可以使用

$("[data-val^='yes']").data("val")

$("[data-val^='yes']").attr('data-val')

一方将获得价值。然而,如果你有多个选择器匹配,那么它只会得到第一个,你必须把它放在一个循环中才能得到所有的选择器。

+0

这是第一个答案,它的工作原理!谢谢。它不会让我把这标记为另外9分钟的正确答案。这很愚蠢。 – Trialsman

+0

但是请注意只会得到第一个匹配选择器的值。由于有一个'^ ='会假设可能有多个匹配 – charlietfl

+0

@charlietfl我已经在我的答案中包括了,谢谢 – CumminUp07

1

要获取的数据类型的属性数据,你应该只调用提供了jQuery,例如数据的方法:

$("[data-val^='yes']").data('val'); 

$("[data-val^='yes']").attr('data-val'); 
相关问题