jquery on click事件不处理无序列表中的列表项
我有以下列表,其中包含id为#sortable1的无序列表,我想要实现的是,每当使用ingjquery on click事件不处理无序列表中的列表项,jquery,Jquery,我有以下列表,其中包含id为#sortable1的无序列表,我想要实现的是,每当使用ing单击li元素时,都会发生onclick事件,并从单击的li元素向id发出警报。我在无序列表中还有一个元素,不应使用class=“emptyMessage”单击该元素 我被卡住了,不知道如何继续 到目前为止我有 <ul id="sortable1" class="connectedSortable ui-sortable"> <li class="ui-state-default" id="
- 单击li元素时,都会发生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>
您的JavaScript中存在语法错误。应该是:
$("#sortable1 li").click(function() {
alert("Clicked list." + $(this).value);
});
另外,我认为您的意思是$(this).html()
,而不是$(this).value
-
没有值(在jQuery对象上应该是.val()
)
.这应该可以做到:
$("#sortable1 li").not('.emptyMessage').click(function() {
alert('Clicked list. ' + this.id);
});
演示:可能选择错误?以下是我的代码(工作正常):
木瓜
$(文档).ready(函数(){
$(“#sortable1>li”)。单击(函数(){
警报($(this.html());
});
});
名称1
名称2
名称3
名称4
名称5
UPD:很抱歉,我认为
项没有val()属性=)在选择
$(document).ready(function () {
$("ul#sortable1 li").click(function() {
alert("Clicked list." + $(this).text());
});
});
@jAndy-是的,我刚刚发现:)它仍然不排除
。emptyMessage
是的,.text()
是一个更好的选择。但他确实在问题中询问了id:)
<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>
$("#sortable1 > li.ui-state-default").click(function() {
alert("Clicked list " + $(this).attr("id"));
});
$(document).ready(function () {
$("ul#sortable1 li").click(function() {
alert("Clicked list." + $(this).text());
});
});