在我的JavaScript代码中,我有一个字符串,其中包含:
var html = "<div class='outer'><div id='inner'>lots more html in here</div></div>";
我需要将其转换为字符串
var html = "<div id='inner'>lots more html in here</div>";
我已经在我的项目中使用jQuery了,所以我可以在必要时使用它。
答案 0 :(得分:3)
尝试:
var html = "<div class='outer'>"
+ "<div id='inner'>lots more html in here</div></div>";
html = $(html).html();
alert(html);
答案 1 :(得分:3)
为什么所有这些不必要的复杂答案?
//get a reference to the outer div
var outerDiv = document.getElementById('outerDivId');//or $('#outerDivId')[0];
outerDiv.outerHTML = outerDiv.innerHTML;
就是这样。只需将outerHTML设置为内部,而元素就不再存在。
由于我忽略了你正在处理一个HTML字符串,所以需要首先解析它:
var tempDiv = document.createElement('div');
tempDiv.innerHTML = htmlString;
var outerDiv = tempDiv.getElementsByTagName('div')[0];//will be the outer div
outerDiv.outerHTML = outerDiv.innerHTML;
你已经完成了。
答案 2 :(得分:2)
尝试.unwrap()
-
$("#inner").unwrap();
答案 3 :(得分:0)
如果html字符串在您的示例中总是如此,则可以使用此简单代码
var html = "<div class='outer'><div class='inner'>lots more html in here</div></div>";
html = html.slice(19,-6)
答案 4 :(得分:0)
您可以这样做:
var html = "<div id='inner'>" + html.split("<div id='inner'>")[1].split("</div>")[0] + "</div>";
但您可能希望为变体添加更多保护(如果您有不使用相同约定编写代码的坏习惯),例如"inner"
或<DIV>