我必须有单独的javascript和html文件,当我点击链接时我正在尝试打开一个新窗口,但它无法正常工作。
HTML:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Test</title>
<link rel="stylesheet" href=""/>
<script type="text/javascript" src="java3.js"></script>
</head>
<body>
<a href="#" id="link">Click!</a>
</body>
</html>
使用Javascript:
var a = document.getElementById("link");
a.onclick = function(){
window.open("http://www.google.com");
};
答案 0 :(得分:3)
如果您打开控制台,您可能会看到如下错误消息:
TypeError: Cannot set property 'onclick' of null
这是因为document.getElementById("link")
是null
。
为什么null
?它就在页面上!
嗯,不是这个代码运行的时候。 JavaScript代码在定义主体之前运行。
将脚本移动,或将代码包装在ready / onload事件中:
window.onload = function() {
var a = document.getElementById("link");
a.onclick = function() {
window.open("http://www.google.com");
};
};