我有以下链接,我想修改其文本来自"新的子网站"到"创建新的客户网站": -
所以我写了下面的jquery: -
$('a#createnewsite').text('Create New Customer Site');
不仅替换了文本,还替换了包含" +"的范围。图像,虽然我试图保留除了替换文本之外的所有内容..这是应用jQuery后的结果: -
答案 0 :(得分:1)
您需要选择文本节点,然后更改其文本。
$('#createnewsite')
.contents()
.filter(function() { return this.nodeType === Node.TEXT_NODE; })
.text('Create New Customer Site');
答案 1 :(得分:1)
可以使用jQuery.contents
和jQuery.filter
一起选择文本节点:
$(function() {
$("a#createnewsite").contents().filter(function() {
// filter text nodes that contain one or more non-whitespace characters
return this.nodeType === Node.TEXT_NODE && /\S/.test(this.nodeValue);
}).replaceWith("new text");
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<a id="createnewsite" href="#">
<span>
<img src="http://dummyimage.com/64x64/000/fff" width="64" height="64">
</span>
new subsite
</a>