我有以下列表:
<ol class="sortable ui-sortable">
<li id="list_1608"><div>One</div></li>
<li id="list_1609"><div>Two</div></li>
<li id="list_1610"><div>Three</div></li>
</ol>
我希望获得点击的id
li
。我尝试了以下代码,但没有得到警报。
$("li").click(function() {
var myid = $(this).attr("id");
alert(myid);
});
我将它与nestedSortable jQuery插件结合使用。
我哪里错了?
确定更多信息,在加载dom后添加列表项。
如果项目加载开始,它确实有效,请道歉。
答案 0 :(得分:11)
您的代码正在运行here,您可能需要将其放入document.ready()
或需要add jQuery files。使用this.id
代替$(this).attr("id")
是更好的选择,因为它是javascript并为您带来性能优势。
$(document).ready(function(){
$("li").click(function() {
//var myid = $(this).attr("id");
alert(this.id);
});
})
答案 1 :(得分:0)
您可以通过以下方式获取ID:
this.id
答案 2 :(得分:0)
这可能会有所帮助。
$('ol').click(function(event){
if(event.target.tagName == 'li'){alert(this.id);}
if($(event.target).parent('li').length > 0){$(this).parent().attr('id');}
});
答案 3 :(得分:0)
检查您是否先在head
标记
<script language="javascript" type="text/javascript" src="jquery-1.8.2.js"></script>
<script language="javascript" type="text/javascript">
$(function(){
$("li").click(function() {
var myid = $(this).attr("id");
alert(myid);
});
});
</script>
答案 4 :(得分:0)
仅供将来参考。虽然上面的答案对于静态数据是正确的,但我忘了提到元素是在DOM加载后添加的。解决方案实际上是..
$("li").live("click", function({
alert(this.id);
});