猿问

想要移除div及其内部文本,但是不清除内部的节点?

原代码如下:

<div id="wrap">
    示例文本
    <div id="section-1"></div>
    <div id="section-2"></div>
</div>

我只要留下:

<div id="section-1"></div>
<div id="section-2"></div>

如何实现?


侃侃无极
浏览 108回答 2
2回答

慕田峪4524236

其实,非常非常简单,用jquery只需要这样就行了,不需要移动节点$('#section-1').unwrap();

慕容708150

<div&nbsp;id="wrap"> &nbsp;&nbsp;&nbsp;&nbsp;示例文本 &nbsp;&nbsp;&nbsp;&nbsp;<div&nbsp;id="section-1">test1</div> &nbsp;&nbsp;&nbsp;&nbsp;<div&nbsp;id="section-2">test2</div> </div>JS版本var&nbsp;p&nbsp;=&nbsp;document.getElementById("wrap"); p.parentNode.appendChild(p.childNodes[1]); p.parentNode.appendChild(p.childNodes[2]); p.parentNode.removeChild(p);jQuery版本当然你也可以通过jQuery来操作,本质上就是DOM 节点的移动和删除操作.jQuery由于对js的api做了封装,所以会大大减少代码量,满足楼主需求的jQuery代码为关键点为如何定位 Text Node//$('#wrap').contents().eq(0).remove();$('#wrap').contents().filter(function()&nbsp;{&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;this.nodeType&nbsp;==&nbsp;3;&nbsp;//Node.TEXT_NODE &nbsp;&nbsp;}).remove(); $('#section-1').unwrap();
随时随地看视频慕课网APP

相关分类

JavaScript
我要回答