HTML 文件中的元素并希望通过 Javascript 更改文本。我将函数和函数调用放在 HTML 文件中并且它可以工作。然后我将相同的脚本放入 Javascript 文件中,但它不起作用。来来回回后发现了一些奇怪的事情:我可以将所有脚本保留在JS文件中,但必须在HTML文件中调用函数。有任何想法吗?谢谢。
function changeText(){ document.getElementById("change").innerText = "bla"; } changeText();
这种情况可能是因为您在 JavaScript 文件中的代码尝试更改 HTML 中尚不存在的元素。确保您的 JavaScript 代码在 HTML 元素被解析之后执行。
一种解决方法是将 JavaScript 代码放置在 HTML 文档的底部,确保它们在 HTML 元素加载后执行。这样可以确保在 JavaScript 代码执行时,DOM 已经加载完毕,可以访问和修改您想要更改的元素。
例如,在您的 HTML 文件中:
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Document</title> </head> <body> <div id="change">Initial Text</div> <script src="yourScript.js"></script> </body> </html>
然后,在 yourScript.js 文件中放置您的 JavaScript 代码:
function changeText(){ document.getElementById("change").innerText = "New Text"; } changeText();
通过这种方式,您的 JavaScript 代码将在 HTML 元素加载后执行,可以正确地找到并更改相应的元素。