使用JavaScript更改span类的内容
我需要使用JavaScript更改带有类名的span的内容。我更喜欢JavaScript而不是jQuery,因为这是一个基本的站点,并且没有加载jQuery文件,我不想仅仅为了这一点而添加文件。以下是我尝试过的: HTML: 希望它能表现为: 废话,废话,废话,废话,废话,废话,废话使用JavaScript更改span类的内容,javascript,html,innerhtml,getelementsbyclassname,Javascript,Html,Innerhtml,Getelementsbyclassname,我需要使用JavaScript更改带有类名的span的内容。我更喜欢JavaScript而不是jQuery,因为这是一个基本的站点,并且没有加载jQuery文件,我不想仅仅为了这一点而添加文件。以下是我尝试过的: HTML: 希望它能表现为: 废话,废话,废话,废话,废话,废话,废话 进行了搜索,但只找到了ElementID解决方案。请勿在新建前加句号 document.getElementsByClassName('new')[0].innerHTML='newtext here'从'中删除点
进行了搜索,但只找到了ElementID解决方案。请勿在新建前加句号
document.getElementsByClassName('new')[0].innerHTML='newtext here'代码>从'中删除点
。新建'
。这是隐含的,因为函数只查找类
更新:根据,是的,将JavaScript代码放在底部可能仍然不足以保证DOM完全加载。您必须在document.onload
之后进行替换
document.onload = function() {
document.getElementsByClassName('.new')[0].innerHTML = 'new text here';
}
如前所述,从选择器中删除点('.')。
如果您想这样选择类,我建议您使用document.querySelector或document.querySelector all:)您就快到了,只需从类名中删除
。
原因是,当您调用getElementsByClassName
方法时。它只在整个文档中搜索类名,因此您不需要在类名前加上
document.getElementsByClassName('new')[0].innerHTML = 'new text here';
在同一主机上的不同站点上尝试了该代码,但仍然无效。我根据在其主机内的类似站点上找到的elementID代码修改了代码,这起到了作用:
var newText = document.getElementsByClassName('new')[0];
newText.innerHTML = 'new text here';
不知道为什么,但这起作用了。谢谢你的回复 '.new'
没有点,因此document.getElementsByClassName('new')[0]。innerHTML
我删除了点,但它仍然不起作用。我应该说我也试过了。我在标记之前加载了外部js文件这一事实会有所不同吗?或者[0]可能?注意:js文件上的所有其他脚本工作正常,因此正在加载。根据它的工作正常。你能提供一些代码来重现你的问题吗?谢谢你创造了小提琴,帮助了很多人看到它的工作。仍然不适合我,所以这个网站有点奇怪。这将是一个糟糕的决定。querySelector
函数速度慢得多,此处不需要。在上面添加了一条新注释。谢谢。在上面添加了新的评论。谢谢。在上面添加了新的评论。谢谢。我已经更新了我的答案来解决你的问题。谢谢你。不知道为什么,但使用一个变量是有效的。谢谢你的解释,我不知道。很高兴它有帮助@我想我知道为什么。看见如果您想要最稳定和可预测的解决方案,请使用onload
事件。
document.getElementsByClassName('new')[0].innerHTML = 'new text here';
var newText = document.getElementsByClassName('new')[0];
newText.innerHTML = 'new text here';