为了账号安全,请及时绑定邮箱和手机立即绑定

用each()方法点击列表弹出此列表的内容

为什么每次都是弹出最后一个列表“”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)

  })

})


正在回答

2 回答

改成这样

$("li").each(function(index){

    $(this).click(function(){

    var $q=$(this).text();

alert($q)

})

})

或者这样

 $('li').click(function(){

    var $q=$(this).text();

alert($q)

})


0 回复 有任何疑惑可以回复我~

不是每次弹出最后一个li,而是你弹出5次你当前点击的li的文本内容。

如果你想点击每个li循环弹出jquery得的的类数组的值,要给每个li元素绑定一个时间,在事件里边循环,而不是先循环再绑定事件。你想点击每个li循环出你的jquery合集的每个li元素的的话,应该:

$("li").on("click",function (){

    $("li").each(function (key,element){

        alert(element.innerHTML);

    })

})


0 回复 有任何疑惑可以回复我~
#1

慕粉2133093261

each的element是一个HTMLElement不是Jquery对象,所以用原生的JS属性,不用Jquery的
2019-10-21 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

用each()方法点击列表弹出此列表的内容

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信