选择一组具有所有相同元素标记的子元素

问题描述:

我有一个包含四个段落标记的div。当页面加载时,我想要显示前两个段落,然后隐藏后续段落元素,但我不知道如何执行此操作。为了简单起见,我在下面的jsfiddle示例中将事件设置为按钮与文档就绪事件。选择一组具有所有相同元素标记的子元素

http://jsfiddle.net/zTCFe/4/

<div id="div"> 
<p>1 keep me shown</p> 
<p>2 keep me shown</p> 
<p>3 hide me</p> 
<p>4 hide me</p> 
</div> 

<input type="button" value="press" id="button"/> 

<script> 

$('#button').click(function() { 

$('#div').children().hide(); 

}); 

</script> 

你几乎有:

$('#div').children(':gt(1)').hide();

更多关于:gt选择。

http://jsfiddle.net/gromer/Tdue6/1/

+1

Gromer,感谢您的帮助和纽带。你击败了其他人约20秒。 – jason328

+0

不错,很高兴它为你工作! – Gromer

+0

但是,如果他想隐藏不连续的子节点会发生什么? – jrd1

使用:gt() selector选择他们

您可以使用:gt()选择:

$("#div p:gt(1)").hide(); 

或者,你也可以使用.slice()选择从jQuery对象的DOM数组特定元素:

$("#div p").slice(2).hide(); 

作为替代方案,你也可以使用.slice()

$('#div').children().slice(2).hide(); 

http://api.jquery.com/slice/

你也可以只使用CSS这个

li:nth-child(-1n+2) { 
    background: yellow; 
}