我希望有人包括我的JS文件,它做的很整洁。我以为我像Google一样放了它:您在源代码中放了一个script标签,而google js负责一切。
在我的php文件中是这样的:

echo '<script type="text/javascript"
src="http://www.site.com/gadget.js">
</script>';


我那个gadget.js,我写了一个跨度:

document.write('<span id="GadgetPicture>');
document.write('</span>');
window.setTimeout('refreshImage();', 2000);


在refreshImage函数中,我要引用我的跨度:

document.getElementById("GadgetPicture");


但这给了我空...
有人知道为什么吗?

同样,document.getElementById("body")也给出空值。

米歇尔

最佳答案

就像大家都说过的那样,您缺少<span>中的引号了,您不应该使用document.write在页面上创建新元素,就像Greg所说的那样使用createElement和appendElement;

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

document.appendChild(span);


您还可以使用jQuery和HTML帮助器http://docs.jquery.com/Attributes/html#val

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

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


要么

setTimeout(refreshImage, 2000);


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

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

document.getElementsByTagName("body")[0]


您可以放心地认为,第一个找到的元素将是您之后的正文,因为包含多个的页面将是无效的HTML。

关于javascript - 单独的JS文件中的Javascript getElementById,用JavaScript编写的src,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/1340682/

10-12 13:22