Javascript 如何仅更改链接内的文本

Javascript 如何仅更改链接内的文本,javascript,jquery,Javascript,Jquery,我有以下链接,我想将其文本从“新建子网站”修改为“创建新客户网站”:- 因此,我编写了以下jquery:- $('a#createnewsite').text('Create New Customer Site'); 它不仅替换了文本,还替换了包含“+”图像的范围,而我试图保留除替换文本以外的所有内容。。下面是应用jQuery后的结果:- 您需要选择文本节点,然后更改其文本 $('#createnewsite') .contents() .filter(function()

我有以下链接,我想将其文本从“新建子网站”修改为“创建新客户网站”:-

因此,我编写了以下jquery:-

$('a#createnewsite').text('Create New Customer Site');
它不仅替换了文本,还替换了包含“+”图像的范围,而我试图保留除替换文本以外的所有内容。。下面是应用jQuery后的结果:-


您需要选择文本节点,然后更改其文本

$('#createnewsite')
    .contents()
    .filter(function() { return this.nodeType === Node.TEXT_NODE; })
    .text('Create New Customer Site');

文本节点可以通过与以下一起使用来选择:

$(函数(){
$(“a#createnewsite”).contents().filter(函数(){
//筛选包含一个或多个非空白字符的文本节点
返回this.nodeType===Node.TEXT\u Node&/\S/.test(this.nodeValue);
}).替换为(“新文本”);
});


我认为您的意思是键入比较而不是赋值。您的标记可能有空格(屏幕截图并不总是有用)。请参阅修改后的答案。添加Node.TEXT\u Node&&/\S/.test(this.nodeValue)后工作良好;这对链接没有任何影响