就像标题所说,我想要替换 div 中特定部分的文本。
结构看起来像这样:
<div class="text_div">
This div contains some text.
</div>
我想仅将“包含”替换为“大家好”,例如。 我找不到解决方法。
text
方法,并传递一个返回修改后文本的函数,使用原生String.prototype.replace
方法执行替换操作:$(".text_div").text(function () {
return $(this).text().replace("contains", "hello everyone");
});
这里有一个可运行的示例。
text
方法在传递一个函数时,会将选择的文本设置为该函数的返回值。如果没有return
,则文本将被替换为空。 - James Allardice<div class="text_div">
This div <span>contains</span> some text.
</div>
你可以使用 jQuery 轻松地更改它的内容:$('.text_div > span').text('hello everyone');
如果你不能将其包装在span标签中,则可以使用正则表达式。
非常简单,只需使用此代码即可保留HTML,同时仅删除未包装的文本:
jQuery(function($){
// Replace 'td' with your html tag
$("td").html(function() {
// Replace 'ok' with string you want to change, you can delete 'hello everyone' to remove the text
return $(this).html().replace("ok", "hello everyone");
});
});
这是完整的示例:https://blog.hfarazm.com/remove-unwrapped-text-jquery/
var d = $('.text_div');
d.text(d.text().trim().replace(/contains/i, "hello everyone"));
var elem = $('div.text_div:contains("This div contains some text")');
elem.text(elem.text().replace("contains", "Hello everyone"));