jquery on click事件不处理无序列表中的列表项

jquery 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="

我有以下列表,其中包含id为#sortable1的无序列表,我想要实现的是,每当使用ing
    单击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());
    });
    });