【问题标题】:Changing position of children in <body> tag using jQuery使用 jQuery 更改 <body> 标记中子项的位置
【发布时间】:2010-10-16 17:51:24
【问题描述】:

我正在尝试更改身体子项的位置。我显然不明白该怎么做,但我认为如果以下代码可以工作,那将是新奇的:

var temp = $('body').children()[0];
$('body').children()[0] = $('body').children()[1];
$('body').children()[1] = temp;

对我来说可悲的是,事实并非如此。我已经搜索并找到了 .add() 方法,但是我看不到如何添加到父级的开头/我不知道如何删除另一个子级。

感谢您的帮助。

【问题讨论】:

    标签: jquery children traversal


    【解决方案1】:

    这将改变 2 个或更多项目在正文中的位置。

    基本上,它只是颠倒正文中元素的位置。

    它遍历body 的每个孩子并将该孩子添加到正文的开头。这将反转元素在正文中的顺序和位置。

    $('body').children().each(function() {
        $(this).prependTo("body");
    });​
    

    Try it out with this jsFiddle

    (for 3 elements)

    参考资料:
    .children()
    .each()
    .prependTo() >

    【讨论】:

      【解决方案2】:

      要交换孩子只需使用.prependTo() 在开头粘贴您想要的任何元素,如下所示:

      $('body').children().eq(1).prependTo('body');
      

      通过交换数组中的元素,您只是在更改 jQuery 对象中的元素,对对象的引用...根本不会真正影响 DOM 中的它们。

      直接给.prepend()一个元素,表单看起来像这样(基本上就是上面转换成的样子):

      $('body').prepend($('body').children().eq(1));
      

      【讨论】:

        【解决方案3】:

        如果你想把子元素放到指定的位置你可以使用 before,after 像这样: @987654321@

        参考:

        each

        api.jquery.com/after/

        api.jquery.com/find/

        api.jquery.com/children/

        【讨论】:

        • 能否请您发布您正在使用的功能的参考?
        • 抱歉,我没有足够的声誉将它们添加为链接,这就是为什么引用以纯文本形式公开的原因
        猜你喜欢
        • 2016-03-17
        • 2016-11-06
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-08-24
        • 1970-01-01
        • 2022-01-10
        相关资源
        最近更新 更多