jquery - 当 div 包含其他元素时更改 div 文本

标签 jquery html replace

我们在尝试更改网页时遇到了以下情况。

<div id="div1">
   Welcome <button id="clicker">Click Me</button>
</div>

这当然只是我们遇到的情况的一个基本示例。我们想要做的就是更改 div 的文本而不丢失 button。例如,我们希望它说,而不是欢迎

是否有一种简单的方法可以使用 jQuery 来实现此目的?我尝试过使用 .replace 但似乎不起作用。

$("#div1").text().replace("Welcome", "Hi");

更新

感谢大家如此快速的回复和出色的回答。 gdoron 和 mblase75 的回应效果很好。为了简单起见,mblase75 似乎更容易实现,但 gdoron 不遗余力地逐行解释。再次非常感谢您!

最佳答案

一种方法是使用 .html 的回调函数:

$('#div1').html(function(i,old) {
    return old.replace('Welcome','hi');
});

http://jsfiddle.net/VsAZu/

关于jquery - 当 div 包含其他元素时更改 div 文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9778383/

相关文章:

regex - 使用python正则表达式转义无效的 Markdown

javascript - 在 AJAX 返回数据上使用 jQuery 选择器

jquery - 从边距设置中排除一项 - 导航栏

javascript - 使用 jQuery 打开和关闭的多个隐藏菜单?

javascript - Jquery 如果选中切换类

javascript - HTML/JS "Lock/Hide"内容直到日期设置

regex - 为匹配中的每一行添加前缀的正则表达式

mysql - 基于 REGEX 的替换在 MySQL 过程中不起作用

javascript - 仍被拖动时可排序的索引位置

php - 我可以同时使用 Ajax、JS、HTML、PHP 和 MySQL 吗?