Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/461.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/85.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何使用JQuery append()、add()或appendTo()将对象附加到DOM元素?_Javascript_Jquery - Fatal编程技术网

Javascript 如何使用JQuery append()、add()或appendTo()将对象附加到DOM元素?

Javascript 如何使用JQuery append()、add()或appendTo()将对象附加到DOM元素?,javascript,jquery,Javascript,Jquery,我似乎无法让它工作,即使我认为它是完全正确的。考虑下面的代码: <script type="text/javascript> ul = $(".qtrans_language_chooser"); parent = ul.parent(); activeLangLi = ul.children("li.active"); parent.prepend('<ul class="qtrans_active_langu

我似乎无法让它工作,即使我认为它是完全正确的。考虑下面的代码:

<script type="text/javascript>
        ul = $(".qtrans_language_chooser");
        parent = ul.parent();
        activeLangLi = ul.children("li.active");

        parent.prepend('<ul class="qtrans_active_language"></ul>');
        activeLangUl = $(".qtrans_active_language");
        o = activeLangLi.appendTo(activeLangUl);
        activeLangLi.remove();
</script>
我只是想把activeLangLi添加到空的ActiveLangl中。但无论我使用append、appendTo还是add,它都不会显示。

删除这一行:

activeLangLi.remove();
这将从DOM中删除元素。append和appendTo不会将元素从当前位置复制到新位置。如果你事后把它们拿走,那么它们就不见了

您还可以优化代码以:

var ul = $(".qtrans_language_chooser");
$('<ul class="qtrans_active_language"></ul>')
    .prependTo(ul.parent())
    .append(ul.children("li.active"));
不要忘记使用变量。

删除此行:

activeLangLi.remove();
这将从DOM中删除元素。append和appendTo不会将元素从当前位置复制到新位置。如果你事后把它们拿走,那么它们就不见了

您还可以优化代码以:

var ul = $(".qtrans_language_chooser");
$('<ul class="qtrans_active_language"></ul>')
    .prependTo(ul.parent())
    .append(ul.children("li.active"));

不要忘记使用var。

感谢您的优化。然而,我可以发誓,我试着通过注释来判断remove命令是否是问题所在。然后,当它没有解决问题时,我感到困惑并尝试了其他方法。谢谢谢谢你的优化。然而,我可以发誓,我试着通过注释来判断remove命令是否是问题所在。然后,当它没有解决问题时,我感到困惑并尝试了其他方法。谢谢