为什么每次都是弹出最后一个列表“”canvas“”
HTML
<ul>
<li>HTML</li>
<li>CSS</li>
<li>JavaScript</li>
<li>jQuery</li>
<li>canvas</li>
</ul>
----------------------
JQ
$("li").each(function(index){
$("li").click(function(){
var $q=$(this).text();
alert($q)
})
})
改成这样
$("li").each(function(index){
$(this).click(function(){
var $q=$(this).text();
alert($q)
})
})
或者这样
$('li').click(function(){
var $q=$(this).text();
alert($q)
})
不是每次弹出最后一个li,而是你弹出5次你当前点击的li的文本内容。
如果你想点击每个li循环弹出jquery得的的类数组的值,要给每个li元素绑定一个时间,在事件里边循环,而不是先循环再绑定事件。你想点击每个li循环出你的jquery合集的每个li元素的的话,应该:
$("li").on("click",function (){
$("li").each(function (key,element){
alert(element.innerHTML);
})
})