Javascript jQuery-get<;李>;从<;ul>;有一个特定的类

Javascript jQuery-get<;李>;从<;ul>;有一个特定的类,javascript,jquery,css,list,html-lists,Javascript,Jquery,Css,List,Html Lists,我有一份清单: <ul id="list"> <li class="one">Item A</li> <li class="one">Item B</li> <li class="two">Item C</li> <div id="pressed">Submit</div> </ul> 但所有这些返回值都是0。最好的方法是什么?在任何时候,只有一个将有

我有一份清单:

<ul id="list">
   <li class="one">Item A</li>
   <li class="one">Item B</li>
   <li class="two">Item C</li>
   <div id="pressed">Submit</div>
</ul>
但所有这些返回值都是
0
。最好的方法是什么?在任何时候,只有一个
  • 将有一个“2”类。

    您需要html()或text()而不是val()。函数val()用于输入元素,如文本、复选框等。还可以将div置于ul之外,以使html如Rory McCrossan所指出的那样有效


    首先,您的HTML无效,因为
    div
    元素不能是
    ul
    的子元素:

    <ul id="list">
       <li class="one">Item A</li>
       <li class="one">Item B</li>
       <li class="two">Item C</li>
    </ul>
    <div id="pressed">Submit</div>
    

    在Rory McCrossan用HTML更正后,您可以这样做

    $("#pressed").click(function() {
       alert($('#list .two').text());
    });
    

    Li没有值。对于真正正确的HTML,对于任何可单击的内容,您还应该使用锚定标记(
    )或按钮标记(
    Submit
    )。@max\w Source请…尽管我不一定不同意。@max\w从可访问性角度来看,我同意。不过,在某些情况下,这是不可能的。对不起,我在发言中作了概括。大多数情况下(在这个问题的例子中也是如此),锚定标签或按钮应该用于可点击的元素。使用它们的好处包括默认情况下获取
    cursor:pointer
    ,默认情况下获取元素集上的
    tabindex
    ,以及识别可通过屏幕阅读器单击的标记。我同意有时候它们不是最合适的(比如当你试图让一个包含嵌套元素的块元素可以点击时)。@max\w完全同意
    <ul id="list">
       <li class="one">Item A</li>
       <li class="one">Item B</li>
       <li class="two">Item C</li>
    </ul>
    <div id="pressed">Submit</div>
    
    $("#pressed").click(function() {
       var v = $('#list').find('.two').text();
       alert(v);
    });
    
    $("#pressed").click(function() {
       alert($('#list .two').text());
    });