如何将具有数据属性的元素作为变量?

rob*_*b.m 0 jquery

我这样做但是没有用

HTML

<a href="#filter-year-y2013" data-filter-value=".y2013">2013</a>
Run Code Online (Sandbox Code Playgroud)

jQuery的

var token = document.location.href.split('=')[1];
var attribu = "." + token;
$('a[data-filter-value= attribu]').css("background", "#ddd");
Run Code Online (Sandbox Code Playgroud)

这个问题与其他问题不同,因为我没有要求使用变量而是数据属性来定位任何选择器

Ror*_*san 5

您需要将变量与字符串选择器连接在一起,请尝试以下操作:

$('a[data-filter-value="' + attribu + '"]').css("background", "#ddd");
Run Code Online (Sandbox Code Playgroud)

或者,您可以避免连接和使用filter():

$('a').filter(function() {
    return $(this).data('filter-value') == attribu;
}).css("background", "#ddd");
Run Code Online (Sandbox Code Playgroud)