Jquery用另一个替换内部div

时间:2013-09-18 16:07:30

标签: jquery html

我正在尝试用新的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> 

它没有被替换......

2 个答案:

答案 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>