我可能做了一些明显错误的事情但我使用了node.js并且我正确地链接了一个javascript文件(alert("hello");
有效)。但是我不能用DOM来影响任何事情。简单的例子:
玉:
doctype html
html
head
link(rel='stylesheet', href='/stylesheets/styles.css')
script(src='/javascripts/script.js')
body
block index_block
div#divClassName
笔
#divClassName
background-color red
width 200px
height 200px
JS:
alert("hello");
var div = document.getElementById("divClassName");
div.style.backgroundColor = "green";
盒子保持红色。为什么?感谢。
答案 0 :(得分:0)
由于您的脚本在读取HTML之前运行,因此div
变量返回undefined,因为在执行脚本时不存在此类元素。将JS包装在文档的函数onload
中允许您推迟执行,直到文档完全加载为止。
window.onload = function(){
alert("hello");
var div = document.getElementById("divClassName");
div.style.backgroundColor = "green";
}