为什么ul下的li绑定不了事件

//html代码:

<div class="hot">
        <div class="hot_nav">
            <ul class="hot_list"><!--加了个class属性-->
                <li class="bingxiang"><i></i><span>冰箱冷柜</span</li>
                <li class="xiyiji"><i></i><span>洗衣机</span></li>
                <li class="dianshi"><i></i><span>电视</span></li>
                <li class="kongtiao"><i></i><span>空调</span></li>
                <li class="reshuiqi"><i></i><span>热水器</span></li>
                <li class="chufang"><i></i><span>厨房电器</span></li>
                <li class="shenghuo"><i></i><span>生活家电</span></li>
            </ul>
        </div>

//JS代码:
$('.hot_nav').on('click','.hot_nav>ul>li',function(){

var htype=$(this).attr('class');
console.log(htype);
loadhot(htype);

});
//ul下的li无法绑定,给ul加个class却能找到,已经确定ul为唯一ul
$('.hot_nav').on('click','.hot_list>li',function(){

var htype=$(this).attr('class');
console.log(htype);
loadhot(htype);

});

阅读 5k
3 个回答
$('.hot_nav').on('click','>li',function(){
//your code   在后面不要写父元素选择器
})

因为. hot_nav的子节点中并没有. hot_nav

如果是异步加载,最好是委托到body上,

$('body').on('click', '.hot_list li', function() {
//code
})

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题