从jQuery的“纯文本”html中删除元素

时间:2014-01-07 18:43:47

标签: javascript jquery

如果我有以下javascript 字符串

var string = '<div id="div1"><div id="div2"></div></div>';

我可以使用 jQuery 生成以下字符串吗?

var newString = '<div id="div1"></div>';

换句话说,比如:

string.find('#div2').remove();

3 个答案:

答案 0 :(得分:2)

是的,只需用jQuery函数包装它:

$(string).find('#div2').remove();

即使这没有意义 - 它实际上并没有从字符串中删除<div>,而是将其从新创建的jQuery对象中删除,该对象未分配给任何东西。如果你想在某个地方附加#div1,你可能希望在删除它的内部<div>之前将其jQuery对象分配给变量:

$string = $(string);
$string.find('#div2').remove();
$('body').append($string);

JSFiddle

答案 1 :(得分:0)

只需将内部HTML设置为空字符串:

$(string).html('')

答案 2 :(得分:0)

var string = '<div id="div1"><div id="div2"></div></div>';
var newString = $(string).empty().get(0);
console.log(newString);

<强> jsFiddle example