javascript - 移除div极其内部文本,但是不清除内部的节点
迷茫
迷茫 2017-04-10 12:43:06
[JavaScript讨论组]

原代码如下:

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

我只要留下:

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

如何实现?

迷茫
迷茫

业精于勤,荒于嬉;行成于思,毁于随。

全部回复(2)
迷茫
<p id="wrap">
    示例文本
    <p id="section-1">test1</p>
    <p id="section-2">test2</p>
</p>

JS版本

var p = document.getElementById("wrap");
p.parentNode.appendChild(p.childNodes[1]);
p.parentNode.appendChild(p.childNodes[2]);
p.parentNode.removeChild(p);

在线测试 http://jsfiddle.net/zVAxE/1/

jQuery版本

当然你也可以通过jQuery来操作,本质上就是DOM 节点的移动和删除操作.
jQuery由于对js的api做了封装,所以会大大减少代码量,满足楼主需求的jQuery代码为
关键点为如何定位 Text Node

//$('#wrap').contents().eq(0).remove();
$('#wrap').contents().filter(function() {
    return this.nodeType == 3; //Node.TEXT_NODE
  }).remove();
$('#section-1').unwrap();

http://jsfiddle.net/nvTEU/4/

怪我咯

其实,非常非常简单,用jquery只需要这样就行了,不需要移动节点

$('#section-1').unwrap();

来个测试链接
http://jsfiddle.net/zVAxE/2/

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号