为什么在通过jquery移动html元素时显示[object Object]?

时间:2015-05-28 05:52:48

标签: jquery html html5

我想在menu div中移动一个html元素,它的工作和移动完美,但显示[object Object]而不是html anchor

My Fiddle link

HTML

 <div class="main">
    <a id="back">Back</a>
</div>
<div class="main menu">
    <ul>
        <li><a href="#">First</a></li>
        <li><a href="#">Second</a></li>
        <li><a href="#">Third</a></li>
    </ul>
</div>

Jquery的:

var back = $('#back');
var htmlBack = '<li>' + back + '</li>';
$('.menu > ul > li:first-child').before(htmlBack);
$('#back').closest('.main').remove();

2 个答案:

答案 0 :(得分:1)

因为你正在使用$('#back')这是一个jquery对象,然后用字符串来连接它。 您需要使用$("#back").text()才能获取其文本。

或者您需要先创建li,然后将锚元素附加到其中。

var back = $('#back');
var htmlBack = $("<li/>");
htmlBack.append(back);
$('.menu > ul > li:first-child').before(htmlBack);

Fiddle

答案 1 :(得分:1)

尝试:

    var main = $('#back').parent();
    var htmlBack = $('#back').wrap('<li></li>').parent();
    $('.menu > ul > li:first-child').before(htmlBack);
    main.remove();

demo