JavaScript返回[对象]
我正试着让它运转起来JavaScript返回[对象],javascript,jquery,Javascript,Jquery,我正试着让它运转起来 $('#info').replaceWith('<div id="infobox" class="reveal-modal">'+$('#info').contents()+'<a class="close-reveal-modal">×</a></div>'); $('#info')。替换为('+$('#info')。contents(); 但它只是给了我[对象]。因为我只用$('#info')替换它。
$('#info').replaceWith('<div id="infobox" class="reveal-modal">'+$('#info').contents()+'<a class="close-reveal-modal">×</a></div>');
$('#info')。替换为('+$('#info')。contents();
但它只是给了我[对象]。因为我只用$('#info')替换它。contents()一切正常。试试:
$(function(){
var content = $('#info').get(0).outerHTML;
$('#info').replaceWith('<div id="infobox" class="reveal-modal">'+content+'<a class="close-reveal-modal">×</a></div>');
})
$(函数(){
var content=$('#info').get(0).outerHTML;
$(“#info”)。替换为(“+content+”×;”;
})
$('#info').get(0).outerHTML
返回任何内容。但是如果只是想要内容,请使用$('#info').html()
,如果您试图维护现有内容并将其放置在外部div中,则返回任何内容,然后尝试使用wrap()
,您可以调用after()
来添加结束锚定
$('#info').wrap('<div id="infobox" class="reveal-modal">')
.after('<a class="close-reveal-modal">×</a>')
$('#info')。换行('')
.之后('
也可以这样写:
$('#info')
.wrap($('<div>', { id: "infobox", "class": "reveal-modal"}))
.after($('<a>', { "class": "close-reveal-modal", html: "×" }));
$(“#信息”)
.wrap($('',{id:“信息框”,“类”:“显示模式”}))
。在($('.contents()
返回jQuery对象后,您需要的是.text()
或.html()
,具体取决于\info
是否包含其他元素
$('#info').replaceWith('<div id="infobox" class="reveal-modal">'+$('#info').text()+'<a class="close-reveal-modal">×</a></div>');
$('#info')。替换为('+$('#info')。text();
以$('#info').contents()开头。
那么,$('#info').contents()是一个对象,对象的默认字符串表示形式是[object object]
。你不能只是将字符串与任意对象连接在一起。但是,.append
应该是。之后和wrap
应该包含它。你的更新版本看起来更好,对我来说更具意义,正在测试。+1最佳答案,因为它不必不必要地解析HTML。请解释这是如何解决的这个问题?尾随点是什么意思?如果你把它插入OP的代码中,你会得到一个语法错误。