替换jquery对象的内容

时间:2014-07-28 06:15:42

标签: jquery

我有:

var tempdiv = "<div><div class='c'>TEST</div></div>";

我现在需要将"<div class='c'>TEST</div>"替换为"<ul></ul>"

此外,tempdiv更复杂,还有许多其他div等。

我试过了:

$(tempdiv).find(".c").replaceWith("<ul></ul>")

这不起作用,因为这样会给我"<div class='c'>TEST</div>"而不是完全改变tempdiv

4 个答案:

答案 0 :(得分:4)

您的代码替换了该元素,但它不会更改原始字符串(tempdiv)。如果你想获得包装元素的字符串表示,你应该读它的outerHTML属性:

tempdiv = $(tempdiv).find(".c").replaceWith("<ul></ul>").end().prop('outerHTML');

答案 1 :(得分:0)

 $(tempdiv).find(".c").replaceWith(function(_,elem){
return "<ul>"+elem+"</ul>";
})

updated DEMO

答案 2 :(得分:0)

试试这个: $( “C ”)replaceWith。(“ &LT; &GT; /&LT; &gt;” 中);

答案 3 :(得分:0)

当你调用变量时,你不能使用$。只是叫它的名字。

tempdiv.find(".c").replaceWith("<ul></ul>")

$('.c').replaceWith("<ul></ul>")