4

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

我正在尝试使用以下代码:-

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>

jQuery :-

$(document).ready(function () {
   $('div#parent-1 div:eq(2)').css("display", "none");
});

我需要躲在child-3这里。但它是隐藏的sub-child-3

这是jsfiddle

有什么建议吗??

提前致谢。

4

5 回答 5

5
$(document).ready(function () {
   $('div#parent-1 > div:eq(2)').css("display", "none");
});

做这>一切。

于 2013-05-17T06:50:22.253 回答
2

像这样试试

$(document).ready(function () {
   $('#parent-1 .child').eq(2).css("display", "none");
});

或者你可以使用喜欢

$('#parent-1 > div:eq(2)').css("display", "none");

代表“parent-1”的相对孩子

于 2013-05-17T06:50:18.447 回答
1

试试这个:(更新

$('#parent-1').children('div').eq(2).hide();

或者

$('#parent-1 > div').eq(2).hide();

.hide()将与display : none;

稍后您可以使用.show()它再次显示该元素。(如果你想)。

于 2013-05-17T06:54:08.610 回答
0

这应该工作

$('#child-3',$('#parent-1')).hide();
于 2014-01-10T07:02:20.490 回答
0

非常简单地只用 css 来做:

#child-3{
   display:none;
}
于 2013-05-17T07:23:18.553 回答