我正在尝试让它运行
$('#info').replaceWith('<div id="infobox" class="reveal-modal">'+$('#info').contents()+'<a class="close-reveal-modal">×</a></div>');
但它只是给了我[object Object]。因为我只用 $('#info').contents() 替换它,所以一切正常。
我正在尝试让它运行
$('#info').replaceWith('<div id="infobox" class="reveal-modal">'+$('#info').contents()+'<a class="close-reveal-modal">×</a></div>');
但它只是给了我[object Object]。因为我只用 $('#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>');
})
$('#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">×</a>')
工作示例:http: //jsfiddle.net/hunter/qU4s3/
也可以这样写:
$('#info')
.wrap($('<div>', { id: "infobox", "class": "reveal-modal"}))
.after($('<a>', { "class": "close-reveal-modal", html: "×" }));
工作示例: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">×</a></div>');
以$('#info').contents().
<-- 开头,像这样