我希望有人包括我的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/