Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/69.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 未捕获类型错误:无法读取属性';在';未定义的_Javascript_Jquery - Fatal编程技术网

Javascript 未捕获类型错误:无法读取属性';在';未定义的

Javascript 未捕获类型错误:无法读取属性';在';未定义的,javascript,jquery,Javascript,Jquery,在控制台中,我可以看到releaseLink具有被抓取的正确值(链接)。但在下一行中,当我尝试为它创建一个单击事件时,我在控制台中遇到了以下错误: 未捕获类型错误:无法读取未定义的属性“on” 以下是jQuery: var releaseLink = $( "#release-link")[0]; var previousLink = $( "#prev-link" )[0]; releaseLink.on('click', function(){ console.log('hel

在控制台中,我可以看到
releaseLink
具有被抓取的正确值(链接)。但在下一行中,当我尝试为它创建一个单击事件时,我在控制台中遇到了以下错误:

未捕获类型错误:无法读取未定义的属性“on”

以下是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]
将jQuery对象剥离为DOM元素
.on
是一个jQuery方法,未在DOM对象上定义


无论如何都不需要使用
[0]
,因为您是按ID选择的。除非您复制的是元素ID,这是非法的HTML,否则可以安全地假设jQuery选择器只返回一个对象。

$(“#释放链接”)[0]
$(“#prev链接”)[0]中的
[0]
$(“prev链接”)[0]
没有意义。对jquery结果集使用数组访问
[0]
将返回本机
domeElement
,而本机
domeElement
没有jquery函数
。在
@j08691上,您的注释是正确的,但没有解释就没有用处,因为它没有意义的原因并不明显,特别是对初学者来说。酷。因此,当我在没有[0]的情况下获取它时,jQuery将返回数组一侧的元素,它看起来是这样的:`[​] `  如何抓取它,使其不在数组中?@GolezTrol-这是一条注释,不是答案。这很有意义,但我有一个简单的点击事件,一个控制台日志。我已经获取了[0]关闭,当元素被单击时,我没有得到控制台日志-你看到原因了吗?@HolyMoly删除了数组符号后,它确实工作得很好,不确定为什么它在本地不工作-有完全相同的东西。我会将答案标记为正确,并找出原因…谢谢大家!