我最近在阅读 Unobtrusive javascript 并决定试一试。我是否决定使用这种风格将在以后确定。这只是出于我自己的好奇心,而不是出于任何时间限制的项目。
现在,我正在查看示例代码,很多示例似乎都在使用,让我永远发现的是 jQuery。他们使用像 $('class-name').whatever(...); 这样的函数。
好吧,我更喜欢 $('class').function 的外观,所以我尝试在不使用 jQuery 的情况下模拟它(因为我不知道 jQuery 并且不关心 atm)。但是,我无法使这个示例工作。
这是我的 jsFiddle:http: //jsfiddle.net/dethnull/K3eAc/3/
<!DOCTYPE html>
<html>
<head>
<title>Unobtrusive Javascript test</title>
<script>
function $(id) {
return document.getElementById(id);
}
$('tester').onclick(function () {
alert('Hello world');
});
</script>
<style>
.styled {
width: 200px;
margin-left: auto;
margin-right: auto;
font-size: 2em;
}
a {
cursor: pointer;
color: blue;
}
a:hover {
text-decoration: underline;
}
</style>
</head>
<body>
<div class='styled'>
<ul>
<li><a id='tester'>CLICK ME</a></li>
</ul>
</div>
</body>
</html>
当您单击链接时,我希望会弹出一个警告框,但似乎没有发生。在 chrome 中检查控制台时,它会显示此消息“Uncaught TypeError: Cannot call method 'onClick' of null”
我不是 javascript 专家,所以很可能我做错了什么。任何帮助表示赞赏。