【发布时间】:2015-06-30 18:06:30
【问题描述】:
我正在尝试将列表项 id 的值分配给一个变量,然后使用该变量并使用一些 jquery 函数更改网页的整个设置。但现在我只是想测试整个事情并注销变量的新值。
我在此处阅读以使用 .attr('id') 但我一直未定义。这是html代码的一部分:
<ul class="vilains">
<li id="Joker"><img src="image/Joker.jpg" alt="The Joker"></li>
<li id="Lex Luther"><img src="image/Lex%20Luther.png" alt="Lex Luther"></li>
<li id="The Trixter"><img src="image/The%20Trixter.jpg" alt="The Trixter"></li>
<li id="The Kingpin"><img src="image/The%20Kingpin.png" alt="The Kingpin"></li>
</ul>
我知道超级英雄...只是为了玩玩并测试我的知识...
这是我的 jquery 代码
$(document).ready(function () {
$(".vilains").find("li").on("click", function (){
var ennemy = $(this).attr('id');
console.log(ennemy);
});
});
日志始终未定义。 我做错了什么? 也可以得到图片中alt的值吗?
谢谢
【问题讨论】:
-
就我所见,工作得非常好。
-
我在这里没有发现问题。它工作正常,而不是未定义jsfiddle.net/yhvzatgf
-
如果 HTML 元素是动态插入/添加的,请使用event delegation。
-
DOM 自然地处理这个问题。
this.id更简单,可以对您的代码进行微优化。 -
调试器指向什么未定义?此外,虽然此代码“有效”,因为它会打印您期望的内容,但 id 中的空格无效