我正在尝试用新的div替换嵌套的div。
html_string= "<div id='container'><div id='inner'></div></div>";
var newHtml = $(html_string).find("div#inner").replaceWith("<div>NEW CONTENT</div>").html();
console.log('new html is');
console.log(newHtml);
console.log('html_string is');
console.log(html_string);
但是我得到
的输出new html is
html_string is
<div id='container'><div id='inner'></div></div>
它没有被替换......
答案 0 :(得分:2)
尝试
html_string= "<div id='container'><div id='inner'></div></div>";
var newHtml = $(html_string).find("div#inner").replaceWith("<div>NEW CONTENT</div>").end().get(0).outerHTML;
console.log('new html is');
console.log(newHtml);
console.log('html_string is');
console.log(html_string);
演示:Fiddle
答案 1 :(得分:0)
稍微分解一下:
html_string = "<div id='container'><div id='inner'></div></div>";
var newHtml = $(html_string)
newHtml.find("div#inner").replaceWith("<div>NEW CONTENT</div>");
console.log('new html is:' + $(newHtml)[0].innerHTML);
console.log('html_string is' + $(html_string)[0].innerHTML);
请注意 - html_string是一个字符串并保持不变。 - newHtml是一个jQuery对象并且会被更改。
输出
> new html is:<div>NEW CONTENT</div>
> html_string is<div> id="inner"></div>