用jquery选择第一个孩子

我试图选择ul的第一个孩子,然后将其删除,然后将其附加到ul的末尾但不幸的是我无法选择第一个孩子。

这是代码

current = 0; $(document).ready(function(){ width=951; var totalSlides=$(".slider ul li").length; $(".slider ul").removeAttr('width'); $(".slider ul").attr('width',width*totalSlides); $('#next img').click(function(){ current -= width; $(".slider ul").animate({"left":current+"px"}, "slow"); $(".slider ul").append($(".slider ul:first-child")); //$('.slider ul:firstChild').remove(); }); }); 

您不需要.remove() 帮助.detach() 帮助节点将其附加到其他位置。 你可以通过分别调用.append() help.appendTo() 帮助来完成它.appendTo() .after() help.insertAfter help 。 例如:

 $('ul li:first').insertAfter('ul li:last'); 

演示 : http : //www.jsfiddle.net/KFk4P/

可以选择ul的第一个孩子:

 $('ul > :first-child'); 

要么:

 $('ul').children().eq(0); 

要么:

 $('ul li:first'); 

可能还有很多其他方法。

任何这些都可行:

  • $('ul > li:first')
  • $('ul > li:first-child')
  • $('ul > li:eq(0)')
  • $('ul > li:nth-child(1)')
  • $('ul > li').eq(0)
  • $('ul > li').first()
  • $('ul > li')[0]

ul:first-child没有选择ul的第一个子ul ,它选择ul作为第一个子节点本身 。 使用li:first-child

首先,为每个第一个跨度创建一个类,如下所示:

 
  • a1b1
  • a2b2
  • a3b3
  • `

    在Javascript中,你写道:

     var spanEl = document.getElementsByClassName("the_span"); 

    你去!