使用jQuery,如何修改标签之外的文本?

前端之家收集整理的这篇文章主要介绍了使用jQuery,如何修改标签之外的文本?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
给定一个与span和div内部相邻的文本字符串,有哪些方法可以修改该文本,使周围的HTML保持不变?例如:
<div id="my-div">modify this text<span id="my-span"></span></div>

我尝试过类似的东西

$('#my-div').html(function(i,elem){blah;});

但这似乎会导致删除跨度并添加新的跨度(我注意到某些样式在跨度上丢失).

我意识到最好在应用客户端代码之前将文本字符串包装在自己的HTML标记中,但这是我无法控制的.

解决方法

这似乎有效:
$('#my-div').contents()
            .filter(function() { return this.nodeType == 3; })
            .replaceWith('new text or html');

nodeType == 3用于测试文本节点.

猜你在找的jQuery相关文章