就像标题所说的那样,我想替换div中文本的特定部分。
结构如下:
<div class="text_div">
This div contains some text.
</div>
例如,我只想将“包含”替换为“大家好”。我找不到解决方案。
Answers:
您可以使用该text
方法并传递一个返回修改后的文本的函数,并使用本机String.prototype.replace
方法执行替换:
$(".text_div").text(function () {
return $(this).text().replace("contains", "hello everyone");
});
这是一个有效的例子。
text
方法在传递函数时会将选择的文本设置为该函数的返回值。没有return
文字,文字将一无所有。
var d = $('.text_div');
d.text(d.text().trim().replace(/contains/i, "hello everyone"));
使用此代码非常简单,它将保留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/
您可以使用contains选择器来搜索包含特定文本的元素
var elem = $('div.text_div:contains("This div contains some text")');
elem.text(elem.text().replace("contains", "Hello everyone"));