Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/392.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何使用jQuery获取上一个DIV_Javascript_Jquery - Fatal编程技术网

Javascript 如何使用jQuery获取上一个DIV

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)后设置元素(.item-I)的动画。现在我不知道,如何到达这个元素

我只想要上面的元素动画,而不是上面的两个,只有上面的第一个元素

我很容易就出现在了我的房间里。黄色背景是“动画”

以下是我的JS代码:

$('.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;
        }
    });
});