Javascript 删除a<;部门>;带有JS的节无法按预期工作
我尝试使用以下简单代码从DOM中删除周围的div部分:Javascript 删除a<;部门>;带有JS的节无法按预期工作,javascript,dom,Javascript,Dom,我尝试使用以下简单代码从DOM中删除周围的div部分: document.getElementById(“1”).outerHTML=document.getElementById(“1”).innerHTML 第一部分 第二部分 第三部分 第四部分 不能在HTML的内联元素中嵌套块级元素。换句话说,p中的div在所有HTML标准中都是无效的。此外,当使用一致性HTML解析器时,不可能在DOM中的内放置元素,因为打开的标记将自动关闭元素 如果周围的元素是div,则代码是正确的 <div
document.getElementById(“1”).outerHTML=document.getElementById(“1”).innerHTML代码>
第一部分
第二部分
第三部分
第四部分
不能在HTML的内联元素中嵌套块级元素。换句话说,p
中的div
在所有HTML标准中都是无效的。此外,当使用一致性HTML解析器时,不可能在DOM中的内放置元素,因为打开的
标记将自动关闭元素
如果周围的元素是div
,则代码是正确的
<div>
Part 1
<div id="1">
<span id ="2">
Part 2
</span>
Part 3
</div>
Part 4
</div>
第一部分
第二部分
第三部分
第四部分
document.getElementById(“1”).outerHTML
将返回(1):
您的代码表示:将(1)
替换为(2)
问题是由于错误的HTML结构造成的。因为,P元素“不能包含块级元素(包括P本身)”
解决方案:用div替换极端p元素。检查下面的链接(工作代码)
第一部分
第二部分
第三部分
第四部分
var newHtml=document.getElementById('1').innerHTML;
document.getElementById(“1”).outerHTML=newHtml;
尝试设置
标记的innerHTML。为此,您可能需要将
嵌套在另一个标记中,或者跟踪
标记中的文本。亲爱的Prashant,感谢您的提示。不幸的是,我无法控制HTML部分。不过,很高兴知道HTML是无效的。亲爱的Santhosh,谢谢你的提示。不幸的是,我无法控制HTML部分。然而,知道HTML是无效的是件好事。
<div id="1">
<span id ="2">
Part 2
</span>
Part 3
</div>
<span id ="2">
Part 2
</span>
Part 3
<div id="3">
Part 1
<div id="1">
<span id ="2">
Part 2
</span>
Part 3
</div>
Part 4
</div>
var newHtml = document.getElementById('1').innerHTML;
document.getElementById("1").outerHTML=newHtml;