JavaScript returns [object Object]

JavaScript returns [object Object]

本文关键字:Object object returns JavaScript      更新时间:2023-09-26

我正在尝试运行

$('#info').replaceWith('<div id="infobox" class="reveal-modal">'+$('#info').contents()+'<a class="close-reveal-modal">&#215;</a></div>');

但它只是给了我[对象对象]。由于我只用$('#info').contents()替换它,所以一切都很好。

尝试:

$(function(){
    var content = $('#info').get(0).outerHTML;
    $('#info').replaceWith('<div id="infobox" class="reveal-modal">'+content+'<a class="close-reveal-modal">&#215;</a></div>');
})

$('#info').get(0).outerHTML返回<div id="info">anything</div>。但是,如果只需要内容,请使用$('#info').html(),它将返回anything

如果您试图维护现有内容并将其放置在外部div中,请尝试使用wrap(),然后可以调用after()来添加结束锚。

$('#info').wrap('<div id="infobox" class="reveal-modal">')
    .after('<a class="close-reveal-modal">&#215;</a>')

工作示例:http://jsfiddle.net/hunter/qU4s3/


也可以这样写:

$('#info')
    .wrap($('<div>', { id: "infobox", "class": "reveal-modal"}))
    .after($('<a>', { "class": "close-reveal-modal", html: "&#215;" }));

工作示例:http://jsfiddle.net/hunter/qU4s3/2/

.contents()返回一个jQuery对象,您需要的是.text().html(),具体取决于#info是否包含其他元素。

$('#info').replaceWith('<div id="infobox" class="reveal-modal">'+$('#info').text()+'<a class="close-reveal-modal">&#215;</a></div>');

$('#info').contents().<开始像这个