Javascript 如何替换链接名文本

Javascript 如何替换链接名文本,javascript,jquery,css,Javascript,Jquery,Css,我使用以下标记来呈现链接:- <a id="forum0-NewPostLink" class="ms-textXLarge ms-heroCommandLink" title="add new discussion" href="/Lists/erwerwerwerew/NewForm.aspx?Source=http%3A%2F%2F%2FSitePages%2FHome%2Easpx"> <span class="ms-list-addnew-imgSpan20">

我使用以下标记来呈现链接:-

<a id="forum0-NewPostLink" class="ms-textXLarge ms-heroCommandLink" title="add new discussion" href="/Lists/erwerwerwerew/NewForm.aspx?Source=http%3A%2F%2F%2FSitePages%2FHome%2Easpx">
<span class="ms-list-addnew-imgSpan20">
<img class="ms-list-addnew-img20" src="/_layouts/15/images/spcommon.png?rev=23">
</span>
<span>new discussion</span>
</a>

现在我想把“新讨论”改为“新项目”。那么,有人能告诉我如何使用CSS或javascript实现这一点吗

使用jQuery可以使用:

$('#forum0-NewPostLink span:last').text('My new text');
如果需要更具动态性,则需要提供更多详细信息

CSS方法:

#forum0 NEWSPOSTLINK span:类型的最后一个{
显示:无
}
#forum0 NewPostLink:类型的第一个:after{
显示:块;
内容:“新文本”
}

使用jQuery可以使用:

$('#forum0-NewPostLink span:last').text('My new text');
如果需要更具动态性,则需要提供更多详细信息

CSS方法:

#forum0 NEWSPOSTLINK span:类型的最后一个{
显示:无
}
#forum0 NewPostLink:类型的第一个:after{
显示:块;
内容:“新文本”
}

假设其始终在“a”下的第二个跨度


假设其始终为“a”下的第二个跨度


如果我没弄错的话,你可以用纯javascript这样做,但这不是一个好办法

var a = document.getElementById('forum0-NewPostLink');
var b = a.getElementsByTagName('span');
var arr = [].slice.call(b);
arr.pop().innerHTML = 'new Item';

如果我没弄错的话,你可以用纯javascript这样做,但这不是一个好办法

var a = document.getElementById('forum0-NewPostLink');
var b = a.getElementsByTagName('span');
var arr = [].slice.call(b);
arr.pop().innerHTML = 'new Item';


有多个链接?你想把所有的都换成同样的?你有jQuery?有多个链接?你想把所有的都换成同样的?你有jQuery?你能解释为什么它不是一个好方法吗?我也可以使用纯CSS来实现这一点……嗯,我对答案进行了一点编辑,使其更容易理解,但是如果您给span一个ID(例如)会更好。如果您的html发生了更改,并且您按照其中一个答案(包括我)所建议的方式处理它,那么您将不得不再次更改所有代码@johnGi明白你的意思了,但是我能用纯CSS实现同样的效果吗。。与使用javascript相比,使用纯css是一种更可取的方法吗?坦白地说,我不知道有哪种css方法可以做到这一点,我也不认为有,但我更熟悉javascript。你能解释一下为什么这不是一种好方法吗?我也可以使用纯CSS来实现这一点……嗯,我对答案进行了一点编辑,使其更容易理解,但是如果您给span一个ID(例如)会更好。如果您的html发生了更改,并且您按照其中一个答案(包括我)所建议的方式处理它,那么您将不得不再次更改所有代码@johnGi明白你的意思了,但是我能用纯CSS实现同样的效果吗。。与使用javascript相比,使用纯css是一种更可取的方法吗?坦白地说,我不知道有哪种css方法可以做到这一点,我也不认为有,但我更熟悉javascript。只在样式表中,而不是内联。可以隐藏最后一个span子项并使用
:在
伪选择器和
内容
属性之后,但一般来说,我应该总是尝试使用CSS而不是javascript来隐藏内容吗?@johnG使用CSS动态操作并不是那么简单。我刚刚添加了一个cssalternative@michaelcss不是我的强项,但是如果不使用脚本,就无法动态修改css。例如添加/修改样式标记,但这比更改元素文本要复杂得多IMO@charlietfl谢谢,这也是我的想法。谢谢你的澄清!仅在样式表中,而不是内联。可以隐藏最后一个span子项并使用
:在
伪选择器和
内容
属性之后,但一般来说,我应该总是尝试使用CSS而不是javascript来隐藏内容吗?@johnG使用CSS动态操作并不是那么简单。我刚刚添加了一个cssalternative@michaelcss不是我的强项,但是如果不使用脚本,就无法动态修改css。例如添加/修改样式标记,但这比更改元素文本要复杂得多IMO@charlietfl谢谢,这也是我的想法。谢谢你的澄清!