我有几个元素如下:
<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>
如何将一个类添加到data-slide
属性值为0
(零)的元素中?
我尝试了许多不同的解决方案,但没有任何效果。一个例子:
$('.slide-link').find('[data-slide="0"]').addClass('active');
有什么想法吗?
答案 0 :(得分:184)
$('.slide-link[data-slide="0"]').addClass('active');
它在树下工作
获取每个元素的后代 在当前匹配元素集中,由选择器,jQuery对象或元素过滤。
答案 1 :(得分:53)
您也可以使用.filter()
$('.slide-link').filter('[data-slide="0"]').addClass('active');
答案 2 :(得分:3)
我用变量而不是String搜索了一个相同的解决方案。
我希望我可以用我的解决方案帮助某人:)
var numb = "3";
$(`#myid[data-tab-id=${numb}]`);
答案 3 :(得分:2)
您还可以使用andSelf()
方法获取包含DOM然后find()
可以解决您的想法
$(function() {
$('.slide-link').andSelf().find('[data-slide="0"]').addClass('active');
})
.active {
background: green;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<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>