在控制台中,我可以看到releaseLink
具有正在抓取的正确值(链接)。但是当我尝试为它创建一个click事件时,在下一行,我在控制台中收到此错误:
Uncaught TypeError: Cannot read property 'on' of undefined
这是jQuery:
var releaseLink = $( "#release-link")[0];
var previousLink = $( "#prev-link" )[0];
releaseLink.on('click', function(){
console.log('hello. you clicked the release notes link');
});
这是与之关联的html。
<div id="release-notes">
<h3><a id="release-link" href="#">Release Notes</a></h3>
<div id="release-notes"></div>
</div>
<div id="previous-versions">
<h3><a id="prev-link" href="#">Previous Versions</a></h3>
<div id="version-notes"></div>
</div>
答案 0 :(得分:5)
但是使用Labels.$1_$2
已经将jQuery对象剥离为DOM元素。 [0]
是一个jQuery方法,并未在DOM对象上定义。
无论如何都不需要使用.on
,因为您需要按ID进行选择。除非你复制了非法HTML的元素ID,否则假设你的jQuery选择器只返回一个对象是安全的。