猿问

js获取li的id,请看清楚需求,只能给最外层的id="demo"

 <ul id="demo">
      <li id="1">1</li>
      <li id="2">2
        <ul>
            <li id="2_1">2_1</li>
            <li id="2_2">2_2</li>
        </ul>
      </li>
  </ul>

需求:鼠标点击某一个li 获取 id="demo"下指定li的id(只能给最外层ul的id)
请各位大牛获取到第二层的id之后再回复信息,不要得到了第一层的id就回复

 $("#demo li").each(function(){
alert(this.id);
});

这样写是获取不到id="2_1"的!!!!!


阿晨1998
浏览 1025回答 10
10回答

翻翻过去那场雪

点击第一个li,获取到id="1",点击第二个li,获取到id="2",点击第三个li,获取到id="2_1",点击第四个li,获取到id="2_2",只给了最外层的ul的id="demo"

温温酱

$("#demo").on("click","li",function(e){e=e||window.event;alert($(this)[0].id);e.stopPropagation();})

有只小跳蛙

已经测试了上面的代码 是好的 所有li的id可以获取到!父级和子集都可以!

哔哔one

$("#demo").on('tap','li',function(){var sf = this;$(sf).attr("id");alert($(sf).attr("id"));});

慕的地6264312

$("#demo li").click(function(){$i = 0;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$ul=$(this).children('ul'); &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if($ul){ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;for($j=0;$j<$ul.find('li').length;$j++){ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$i&nbsp;+=&nbsp;$ul.find('li').eq($j).attr('id'); &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;} &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;} &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;alert($i)})

侃侃无极

$("#demo li:eq(1)").(function(){})
随时随地看视频慕课网APP

相关分类

JavaScript
我要回答