0

我想选择父元素的所有子元素(第一个除外),jQuery并且我有以下..

$("li:not(:first-child)");

但我不确定如何将它应用于特定的 parent ID,这样的东西会起作用吗?

$('#myID').("li:not(:first-child)");

如果是这样,那么我想在相应的标签之前添加一个元素。<li>那么我能做到这一点吗?

$('#myID').("li:not(:first-child)").before('<li>Test</li>');

我猜上面的东西是错误的,因为它不起作用。

4

4 回答 4

5

关闭,只需传入选择器上下文:

$("li:not(:first-child)", "#myID")

http://api.jquery.com/jQuery/

jQuery( selector [, context] )

selector: A string containing a selector expression

context: A DOM Element, Document, or jQuery to use as context

编辑:我最初的回答假设您在孩子的 li 中没有更多的 li。如果您只想选择孩子,请使用>

$("#myID > li:not(:first-child)") 
于 2012-08-22T09:21:42.387 回答
1

简单:使用:gt() 帮助选择器:

就像这样做:演示小提琴

$("#myID li:gt(0)").before('<li>Test</li>');

如果您担心速度:):

$("#myID").find("li:gt(0)").before('<li>Test</li>');

或喜欢:演示小提琴

$("#myID li:not(:first-child)").before('<li>Test</li>');
于 2012-08-22T09:24:57.083 回答
1

有不同的解决方案:

$("li:not(:first-child)", "#myID"); // see @SiGanteng answer

$("#myID li:not(:first-child)");

$("#myID").find("li:not(:first-child)");
于 2012-08-22T09:25:12.203 回答
1

假设#myID是一个ulol元素,另一种可能的方式来获得所有孩子,但第一种是

$('#myID').children().slice(1)
于 2012-08-22T10:39:46.450 回答