javascript - jquery或js修改或替换html中的文字
ringa_lee
ringa_lee 2017-04-11 11:45:11
[JavaScript讨论组]

html内容如下

<label>
    测试文字1
    <select>
        <option>10</option>
    </select>
    测试文字2
</label>

目标:仅替换测试1测试2文字
尝试手段:因为该段代码是js插件自动生成,无法给文字加标签,关于使用$('label') = ‘<label>...’,或对textContent,innerHtml,text的任何全部替换和修改都会导致功能丢失(分析原因可能为如整体替换,内存中值也会改变才导致功能丢失)
请教如何再保留外部label和内部select,只替换文字部分。

ringa_lee
ringa_lee

ringa_lee

全部回复(3)
巴扎黑
//遍历label的子节点
for(var i=0;i<label.childNodes.length;i++){
    //筛选文本节点
    if(label.childNodes[i].nodeType==3){
        //修改文本节点的内容
        //do something
    }
}
PHP中文网

我跟楼上的思路差不多,不过这样也会对一些空白的文本节点生效吧?
label js对象.childNodes[0]和.childNodes[nodes.length]可能有针对性一点?

貌似看错了,这里的情况并没有空白的文本节点。

ringa_lee
//先获取select
var $select = $("label").find("select");
//清空,填充新的内容
$("label").empty().append("文字1").append($select).append("文字2");
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

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