在Id javascript中选择一个类

Select a class within a Id javascript

本文关键字:一个 Id javascript 选择      更新时间:2023-09-26

我有一个id = level_1的div,我必须在id = level_1的div中隐藏所有class name="child"的类。这是我的代码,但它不工作。

<div id="level_1">
     <div class="child">1</div>
     <div class="child">2</div>
</div>
JQuery:

$("#level_1 .child").hide();

编辑:

我只想看到紧挨着点击id中包含的点击级别的关卡。

例如,当点击flip_0时,我只希望看到id='flip_0'中包含的level_2div,而不希望看到'flip_1'或'flip_2'中包含的level_2项。

我已经添加了Html和Jquery的完整代码:

<div class="flip level_1" id="flip_0">
    Level 1.1
</div>
<div>
    <div class="flip level_2 panel" id="flip_1">
        Item 1
    </div>
    <div class = "panel level_3" >
        Item 1.1
    </div>
    <div class= "panel level_3">
        Item 1.2
    </div>
    <div class = "flip level_2 panel">
        Item 2
    </div>
    <div class="flip level_3">
        Item 2.1
    </div>
    <div class="flip level_3">
        Item 2.2
    </div>
</div>
<div class="flip level_1" id="flip_2">
    Level 1.2
</div>
<div class="panel level_2">
    Item 2.1
</div>
<div class="panel level_2">
    Item 2.2
</div>
JQuery:

$(document).ready(function(evt)
{
  $(".flip").click(function(evt)
    {
    var class_name_parts = evt.target.className.split("_");
    var level = parseInt(class_name_parts[1]);
    alert(level);
    for( var i= (level+1); i<=3; i++)
    {
        //alert("loop " + i);
        var x= ".level_"+i;
        $(x).hide();
    }
    alert("#"+evt.target.id+" "+".level_"+(level+1));
    $("#"+evt.target.id+" .level_"+(level+1)).show();/*toggle(50);, function()
    {
        var close = "."+evt.target.id + "_to_close";
        $(close).hide();
    });*/
});

});

你可以试试:-

  $(document).ready(function(){
           $("#level_1 .child").hide();
   });

您正在编写正确的代码,但可能是在div呈现之前隐藏了内容

Jquery只有在DOM模型准备好时才能工作。所以最好在创建DOM后使用jquery代码。你可以用$(document).ready()函数。在其中编写代码。它只在创建DOM时执行。