Javascript 在jquery中隐藏第三个子div
我试图在jQuery中隐藏第三个子div,但它隐藏了第一个子div子child 我正在尝试以下代码:- Html:-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="
<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:谢谢您提供有关性能的宝贵信息。我可以不用cssfind(.child)
来做吗?我的情况不同。这就是为什么我要求使用Jquery:)。谢谢你的回答。在我的例子中,id是不固定的,这就是为什么我不能直接给出id。您编写了第三个子项,就动态选择而言,您必须提供准确的事件调用程序,通过它可以确定与第三个子项div的关系。
#child-3{
display:none;
}
$('#child-3',$('#parent-1')).hide();