我有以下列表,其中包含一个id为#sortable1的无序列表,我想要实现的是每当使用<来点击li元素时ul id =“sortable2”>应该发生一个onclick事件,并从被点击的li元素中提醒id。我也有一个元素也在无序列表中,不能用class =“emptyMessage”点击
我卡住了,不知道如何继续
到目前为止我已经
了<ul id="sortable1" class="connectedSortable ui-sortable">
<li class="ui-state-default" id="1">Name1</li>
<li class="ui-state-default" id="2">Name2</li>
<li class="ui-state-default" id="3">Name3</li>
<li class="ui-state-default" id="4">Name4</li>
<li class="ui-state-default" id="5">Name5</li>
<li style="display: list-item;" class="emptyMessage">No more contacts available</li></ul>
我的JQUERY代码
$("#sortable1 li").click(function() {
alert('Clicked list.'+$(this).value);
});
答案 0 :(得分:15)
这应该这样做:
$("#sortable1 li").not('.emptyMessage').click(function() {
alert('Clicked list. ' + this.id);
});
答案 1 :(得分:2)
$("#sortable1 > li.ui-state-default").click(function() {
alert("Clicked list " + $(this).attr("id"));
});
答案 2 :(得分:0)
JavaScript中存在语法错误。它应该是:
$("#sortable1 li").click(function() {
alert("Clicked list." + $(this).value);
});
此外,我认为您的意思是$(this).html()
,而不是$(this).value
- <li>
没有值(在jQuery对象上它将是.val()
)。
答案 3 :(得分:0)
也许是错误的选择器?这是我的代码(工作正常):
<html>
<head>
<title>MooExample</title>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript">
$(document).ready(function() {
$("#sortable1 > li").click(function() {
alert($(this).html());
});
});
</script>
</head>
<body>
<ul id="sortable1" class="connectedSortable ui-sortable">
<li class="ui-state-default" id="1">Name1</li>
<li class="ui-state-default" id="2">Name2</li>
<li class="ui-state-default" id="3">Name3</li>
<li class="ui-state-default" id="4">Name4</li>
<li class="ui-state-default" id="5">Name5</li>
</ul>
</body>
</html>
UPD:对不起,我认为<li>
项没有 val()属性=)
答案 4 :(得分:0)
在选择
时使用它更具体$(document).ready(function () {
$("ul#sortable1 li").click(function() {
alert("Clicked list." + $(this).text());
});
});