此问题在此处已有答案:
(13个答案)
11小时前关门了。
我尝试使用jQuery在单击时获取li
元素的值或id。
超文本标记语言
<ul id="list" class="content-ul">
<li value="0"><img src="/image0.png" /></li>
<li value="1"><img src="/image1.png" /></li>
<li value="2"><img src="/image2.png" /></li>
<li value="3"><img src="/image3.png" /></li>
</ul>
JavaScript语言
$( '#list li' ).click( ( event ) => {
var value = $(this).attr('value');
alert(value); // returns undefined
} );
我尝试使用this.id
以及$( this ).id
-未定义
我尝试为img
标记指定id
和value
-仍然未定义
我试着给li
标签指定一个id
-同样,未定义
4条答案
按热度按时间doinxwow1#
jQuery无法使用箭头函数手动绑定
this
上下文。请使用常规function
或event.currentTarget
访问事件侦听器附加到的元素。67up9zun2#
arrow函数中的这个不引用被单击的DOM元素。
dsekswqp3#
这应该是一个评论。
但是你想达到什么目的呢?为什么不把一个“a”标签和一个类放在一起,然后在里面放一个图像呢?
将atrribut放在“a”标签上,如下所示:
超文本标记语言
JQuery语言
您可以创建自己的数据属性,如数据ID、数据名称等。
希望能有所帮助。
sqxo8psd4#
jQuery无法使用arrow函数手动绑定此上下文。请使用常规函数或使用event.currentTarget访问附加到事件侦听器的元素。