Javascript getElementById在单独的JS文件中,src用Javascript编写

Javascript getElementById在单独的JS文件中,src用Javascript编写,javascript,Javascript,我希望有人包括一个JS文件,我做一些整洁。我想我把它放在谷歌一样:你把一个脚本标签在你的源代码和谷歌js照顾一切。 在我的php文件中是这样的: echo '<script type="text/javascript" src="http://www.site.com/gadget.js"> </script>'; 但它给了我零。。。 有人知道为什么吗 此外,document.getElementByIdbody还提供null Michel您可以在正文中附加span元素

我希望有人包括一个JS文件,我做一些整洁。我想我把它放在谷歌一样:你把一个脚本标签在你的源代码和谷歌js照顾一切。 在我的php文件中是这样的:

echo '<script type="text/javascript"
src="http://www.site.com/gadget.js">
</script>';
但它给了我零。。。 有人知道为什么吗

此外,document.getElementByIdbody还提供null


Michel

您可以在正文中附加span元素,而无需使用document.write方法。document.write不是向DOM插入元素的正确方法

页面加载完成后运行的任何document.write语句都将创建一个新页面并覆盖当前页面的所有内容

你可以使用


方法。您缺少一个报价:

document.write('<span id="GadgetPicture">')

一般来说,使用DOM方法createElement、appendChild比使用document.write更好,但它仍然可以工作。

对于其中一个,您缺少了大家都说过的引用,并且您不应该使用文档。write在页面上创建新元素,正如Greg所说,使用createElement和appendElement-like

var span = document.createElement('span');
span.id = 'GadgetPicture';

document.appendChild(span);
您还可以使用jQuery和HTML助手

同样,在setTimeout方法中,您应该像这样使用它

setTimeout(function() { refreshImage(); }, 2000);

声明字符串将导致Javascript对内容使用eval

您可以使用getElementsByTagName获取文档的主体,因为主体标记通常没有ID

document.getElementsByTagName("body")[0]

您可以放心地假设第一个找到的元素将是后面的主体,因为包含多个元素的页面将是无效的HTML。

除了getElementByIdbody之外,脚本中的所有内容都应该正常工作。我会使用window.setTimeoutrefreshImage,2000调用作为参考,但除此之外,它应该可以在我的测试中正常工作。你能给我们展示一个运行此代码的示例页面吗?document.getElementByIdbody没有意义,除非你有一个id=body的元素。永远不要在setTimeout中使用字符串。您可以使用函数名来代替Guss的注释。有太多糟糕的JavaScript教程了,我想你已经找到了其中一个,甚至w3schools的一个都鼓励使用字符串。非常感谢,这句话确实让我很恼火,尝试了101种方法,但忘记了看这句话。。。。将函数名更改为函数本身,然后尝试createelement代码。
setTimeout(function() { refreshImage(); }, 2000);
setTimeout(refreshImage, 2000);
document.getElementsByTagName("body")[0]