Javascript 如何使用jQuery获取上一个DIV
我想在单击下面的另一个元素(.item-1)后设置元素(.item-I)的动画。现在我不知道,如何到达这个元素 我只想要上面的元素动画,而不是上面的两个,只有上面的第一个元素 我很容易就出现在了我的房间里。黄色背景是“动画” 以下是我的JS代码:Javascript 如何使用jQuery获取上一个DIV,javascript,jquery,Javascript,Jquery,我想在单击下面的另一个元素(.item-1)后设置元素(.item-I)的动画。现在我不知道,如何到达这个元素 我只想要上面的元素动画,而不是上面的两个,只有上面的第一个元素 我很容易就出现在了我的房间里。黄色背景是“动画” 以下是我的JS代码: $('.item-1').click(function() { $(this).closest('.item-i').css( "background", "yellow" ); }); 和我的HTML标记: <ul id="one"
$('.item-1').click(function() {
$(this).closest('.item-i').css( "background", "yellow" );
});
和我的HTML标记:
<ul id="one" class="level-1">
<li class="item-i">I</li>
<li class="item-ii">II
<ul class="level-2">
<li class="item-a">A</li>
<li class="item-b">B
<ul class="level-3">
<li class="item-1">1</li>
<li class="item-2">2</li>
<li class="item-3">3</li>
</ul>
</li>
<li class="item-c">C</li>
</ul>
</li>
<li class="item-iii">III</li>
</ul>
<ul id="Ul1" class="level-1">
<li class="item-i">I</li>
<li class="item-ii">II
<ul class="level-2">
<li class="item-a">A</li>
<li class="item-b">B
<ul class="level-3">
<li class="item-1">1</li>
<li class="item-2">2</li>
<li class="item-3">3</li>
</ul>
</li>
<li class="item-c">C</li>
</ul>
</li>
<li class="item-iii">III</li>
</ul>
- i
- ii
- a
- b
- 1
- 2
- 3
- c
- iii
- i
- ii
- a
- b
- 1
- 2
- 3
- c
- iii
使用:
用于切换背景色:
$(this).closest('.item-ii').prev().toggleClass("highlight");
CSS:
获取
的两种方法。要突出显示item-i
$(this).parents('.level-1').find('.item-i').css( "background", "yellow" );
但是如果在.level-1
下有多个.item-i
类,那么它们都会变为黄色
您还可以编写一个查找算法,通过.item-1
的每个父项查找最接近的item-i
$('.item-1').click(function () {
$(this).parents().each(function(index,elem){
var query = $(elem).find('.item-i');
if(query.length > 0)
{
query.first().css("background-color", "yellow");
return false;
}
});
});
您的
是从按钮上单击的吗?非常感谢!我被困在这里好几个小时了!很好@用户3086380:很高兴这有帮助:)
$(this).parents('.level-1').find('.item-i').css( "background", "yellow" );
$('.item-1').click(function () {
$(this).parents().each(function(index,elem){
var query = $(elem).find('.item-i');
if(query.length > 0)
{
query.first().css("background-color", "yellow");
return false;
}
});
});