用jquery选择第一个孩子

mys*_*ous 13 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();
    });
});
Run Code Online (Sandbox Code Playgroud)

jAn*_*ndy 17

您无需.remove()帮助.detach()帮助节点将其附加到其他位置.您只需通过调用.append()帮助.appendTo()帮助分别提供.after()帮助.insertAfter帮助即可.例如:

$('ul li:first').insertAfter('ul li:last');
Run Code Online (Sandbox Code Playgroud)

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

  • 这是*帮助*的微妙呐喊吗?; O) (7认同)
  • @patrick:是的!我想用<sup>标签说话,但我不能:( (2认同)

Dav*_*mas 15

ul可以选择第一个孩子:

$('ul > :first-child');
Run Code Online (Sandbox Code Playgroud)

要么:

$('ul').children().eq(0);
Run Code Online (Sandbox Code Playgroud)

要么:

$('ul li:first');
Run Code Online (Sandbox Code Playgroud)

可能还有很多其他方法.


zzz*_*Bov 9

任何这些都可行:

  • $('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]