2015-12-10 50 views
0

在jQuery或JavaScript中,我希望通过其数据属性获取元素,或者更确切地说,选择一个元素,然后使用addClass将CSS类应用于所选元素。获取数据属性==某些东西的元素

有谁知道如何做到这一点?我尝试了所有不同的.attr和.prop方法,但他们没有做我想做的事情,因为我事先不知道元素ID或任何元素,因为它是动态设置的。

回答

1

您可以使用jQuery选择:

$('[data-something="something"]') 

,或者开始有了:

$('[data-something^="something"]') 

结尾为:

$('[data-something$="something"]') 

然后你可以使用:

$('[data-something="something"]').addClass(new_class_name); 

以上会匹配所有的元素有:

<tag data-something="something"></tag> 

,给他们一个班new_class_name

0

如果你想使用一个本地JavaScript方法,并在这个答案解释并不担心对IE8浏览器的支持,并在下面,你可以使用querySelector或querySelectorAll:javascript: select all elements with "data-" attribute (without jQuery)这就是说,如果你已经被绑定到使用jQuery的addClass和/或其他选择器方法,它可能会更容易坚持上面列出的选择器。

此答案给出了jQuery好处/成本与本机选择器的良好细分:jQuery vs document.querySelectorAll