Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/472.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,我试图在jQuery中隐藏第三个子div,但它隐藏了第一个子div子child 我正在尝试以下代码:- Html:- <div id="parent-1"> <div id="child-1" class="child">CHILD 1 <div id="sub-child-1" class="subchild">SUB CHILD 1</div> <div id="sub-child-2" class="

我试图在jQuery中隐藏第三个子div,但它隐藏了第一个子div子child

我正在尝试以下代码:-

Html:-

<div id="parent-1">
    <div id="child-1" class="child">CHILD 1
       <div id="sub-child-1" class="subchild">SUB CHILD 1</div>
       <div id="sub-child-2" class="subchild">SUB CHILD 2</div>
       <div id="sub-child-3" class="subchild">SUB CHILD 3</div>
    </div>
    <div id="child-2" class="child">CHILD 2</div>
    <div id="child-3" class="child">CHILD 3</div>
</div>
我需要在这里隐藏
child-3
。但是它正在隐藏子child-3

这是

有什么建议吗

提前谢谢。

像这样试试

$(document).ready(function () {
   $('#parent-1 .child').eq(2).css("display", "none");
});
或者你可以用like

$('#parent-1 > div:eq(2)').css("display", "none");
表示“父1”的相对子级的

$(document).ready(function () {
   $('div#parent-1 > div:eq(2)').css("display", "none");
});
完成了这一切。

试试这个:(更新)

$('#parent-1 > div').eq(2).hide();
.hide()
的工作原理与
显示:无


稍后,您可以使用
.show()
再次显示元素。(如果您愿意)。

只需使用css即可:

#child-3{
   display:none;
}
这应该行得通

$('#child-3',$('#parent-1')).hide();

不要在
id
选择器前面使用标记名-这会导致jQuery做的工作超出需要。只要使用
#parent-1
@lan:谢谢你的建议。我会注意我的代码。你可以直接使用ID[child-3]来隐藏div。我知道它很简单@janak shah,但我的要求不是这样的。请看我的答案和jsPerf测试进行比较。@Roopendra:这是最慢的选项,也是所有答案中表现最慢的;请参阅我的jsPerf测试答案。这不应该是公认的答案。@frenchie在OP中没有要求“最快的”。在jQuery中有很多方法可以完成某些事情。有些人喜欢使用选择器,有些人喜欢使用方法。如果你真的在比较这样的东西的性能,你没有正确编码这是最有效的答案:$('#parent-1').find('.child').eq(2).css('display','none');在jsPerf中试用一下。@frenchie:谢谢您提供有关性能的宝贵信息。我可以不用css
find(.child)
来做吗?我的情况不同。这就是为什么我要求使用Jquery:)。谢谢你的回答。在我的例子中,id是不固定的,这就是为什么我不能直接给出id。您编写了第三个子项,就动态选择而言,您必须提供准确的事件调用程序,通过它可以确定与第三个子项div的关系。
#child-3{
   display:none;
}
$('#child-3',$('#parent-1')).hide();