将跨度 class 的内容更改为 JavaScript
Change content of span class with JavaScript
我需要使用 JavaScript 更改名称为 class 的 span 的内容。我更喜欢 JavaScript 而不是 jQuery,因为这是一个基本站点,不会加载 jQuery 文件,我宁愿不为这件事添加文件。这是我尝试过的:
HTML:
blah blah blah <span class="new"></span> blah blah blah
JavaScript 在外部 JavaScript 文件中:
document.getElementsByClassName('.new')[0].innerHTML = 'new text here';
希望它会显示为:
blah blah blah 新文本在这里 blah blah blah
进行了搜索,但只找到了 ElementID 解决方案。
不要在 new 前加句号。
document.getElementsByClassName('new')[0].innerHTML = 'new text here';
从 '.new'
中删除点 .
。这是隐含的,因为该函数仅查找 类.
更新:根据this question,是的,将您的JavaScript代码放在底部可能仍然不足以保证DOM 已满载。您必须在 document.onload
.
之后进行更换
document.onload = function() {
document.getElementsByClassName('.new')[0].innerHTML = 'new text here';
}
如前所述,请从 selector 中删除点 ('.')。
如果您想 select 类 那样,我建议您使用 document.querySelector 或 document.querySelectorAll :)
您快完成了,只需从 class name
中删除 .
。
原因是,当你调用 getElementsByClassName
方法时。它会在整个文档中搜索 class 个名称 only.So,您不需要在 class 名称之前放置 .
。
document.getElementsByClassName('new')[0].innerHTML = 'new text here';
在同一主机上的不同站点上尝试了代码,但仍然无效。我根据在他们的主机中的类似站点上找到的 elementID 代码修改了代码,这有效:
var newText = document.getElementsByClassName('new')[0];
newText.innerHTML = 'new text here';
不知道为什么,但这奏效了。感谢您的回复!
我需要使用 JavaScript 更改名称为 class 的 span 的内容。我更喜欢 JavaScript 而不是 jQuery,因为这是一个基本站点,不会加载 jQuery 文件,我宁愿不为这件事添加文件。这是我尝试过的:
HTML:
blah blah blah <span class="new"></span> blah blah blah
JavaScript 在外部 JavaScript 文件中:
document.getElementsByClassName('.new')[0].innerHTML = 'new text here';
希望它会显示为: blah blah blah 新文本在这里 blah blah blah
进行了搜索,但只找到了 ElementID 解决方案。
不要在 new 前加句号。
document.getElementsByClassName('new')[0].innerHTML = 'new text here';
从 '.new'
中删除点 .
。这是隐含的,因为该函数仅查找 类.
更新:根据this question,是的,将您的JavaScript代码放在底部可能仍然不足以保证DOM 已满载。您必须在 document.onload
.
document.onload = function() {
document.getElementsByClassName('.new')[0].innerHTML = 'new text here';
}
如前所述,请从 selector 中删除点 ('.')。 如果您想 select 类 那样,我建议您使用 document.querySelector 或 document.querySelectorAll :)
您快完成了,只需从 class name
中删除 .
。
原因是,当你调用 getElementsByClassName
方法时。它会在整个文档中搜索 class 个名称 only.So,您不需要在 class 名称之前放置 .
。
document.getElementsByClassName('new')[0].innerHTML = 'new text here';
在同一主机上的不同站点上尝试了代码,但仍然无效。我根据在他们的主机中的类似站点上找到的 elementID 代码修改了代码,这有效:
var newText = document.getElementsByClassName('new')[0];
newText.innerHTML = 'new text here';
不知道为什么,但这奏效了。感谢您的回复!