jQuery按数据属性值查找元素
我有以下几个要素:jQuery按数据属性值查找元素,jquery,html,css,custom-data-attribute,Jquery,Html,Css,Custom Data Attribute,我有以下几个要素: <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> 有什么想法吗?使用 它在树下工作 获取每个元素的后代 在当前匹配元素集中,由选择器、jQu
<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>
有什么想法吗?使用
它在树下工作
获取每个元素的后代
在当前匹配元素集中,由选择器、jQuery对象或元素过滤
你也可以使用
您还可以使用
和self()
方法获取包装器DOM contain,然后查找()
可以根据您的想法进行处理
$(函数(){
$('.slide link').andSelf().find('[data slide=“0”]”)。addClass('active');
})
.active{
背景:绿色;
}
我用变量而不是字符串搜索了一个相同的解决方案。
我希望我能在解决方案方面帮助某人:)
我的错。我尝试过,但在错误的地方(在动态添加元素之前…)。无论如何,谢谢你的努力!很好。@Upsidown先生欢迎乐于帮助:)哇!这个解决方案很棒!问题持续了几个小时,但这解决了它!如何将其等同于变量值
var slidernumber=“0”
,而不是常量“0”
?如果出于某种原因,您不能依赖某个类的存在,那么您可以对第一部分使用通配符,如$('*[data slide=“0”]')。addClass('active');这里稍微解释一下,这不起作用的原因是,您试图查找属性为[data slide=“0”]
的.slide link
的后代。因为有些东西不能是它自己的后代,所以它没有任何东西可以返回。但是,如果您在这些链接周围有一个包装器,那么这将起作用:$('.slide link wrapper').find('[data slide=“0”]').addClass('active')代码>另请参见
$('.slide-link').find('[data-slide="0"]').addClass('active');
$('.slide-link[data-slide="0"]').addClass('active');
$('.slide-link').filter('[data-slide="0"]').addClass('active');
var numb = "3";
$(`#myid[data-tab-id=${numb}]`);