jQuery按数据属性值查找元素

MrU*_*own 90 jquery

我有几个元素如下:

<a class="slide-link" href="#" data-slide="0">1</a>
<a class="slide-link" href="#" data-slide="1">2</a>
<a class="slide-link" href="#" data-slide="2">3</a>
Run Code Online (Sandbox Code Playgroud)

如何将类添加到data-slide属性值为0(零)的元素?

我尝试了很多不同的解决方案但没有任何效果 一个例子:

$('.slide-link').find('[data-slide="0"]').addClass('active');
Run Code Online (Sandbox Code Playgroud)

任何的想法?

Tus*_*har 194

使用属性等于选择器

$('.slide-link[data-slide="0"]').addClass('active');
Run Code Online (Sandbox Code Playgroud)

Fiddle Demo

.找()

它在树下工作

获取当前匹配元素集中每个元素的后代,由选择器,jQuery对象或元素过滤.

  • 我的错.我试过但是在错误的地方(在动态添加我的元素之前).无论如何,谢谢你的努力!工作良好. (2认同)

Ant*_*ton 55

你也可以使用.filter()

$('.slide-link').filter('[data-slide="0"]').addClass('active');
Run Code Online (Sandbox Code Playgroud)


小智 7

我用变量而不是字符串搜索了相同的解决方案。
我希望我能帮助别人解决我的问题:)

var numb = "3";
$(`#myid[data-tab-id=${numb}]`);
Run Code Online (Sandbox Code Playgroud)