jQuery - 使用特定的类从<ul>获取<li>

Joh*_*ith 2 javascript css jquery 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>
Run Code Online (Sandbox Code Playgroud)

当按下"提交"时,我想检索具有"两个"类的列表项的值.在这种情况下,按下提交将返回"项目C".这是我尝试过的jQuery:

$("#pressed").click(function() {
   var v = $('#list').filter('.two').val();
   alert(v);
});
Run Code Online (Sandbox Code Playgroud)

但所有这一切都是0.最好的方法是什么?<li>任何时候只有一个人会有一个"两个"的班级.

Ror*_*san 8

首先,您的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>
Run Code Online (Sandbox Code Playgroud)

其次,text()是你想要的财产,而不是val():

$("#pressed").click(function() {
   var v = $('#list').find('.two').text();
   alert(v);
});
Run Code Online (Sandbox Code Playgroud)

示例小提琴

  • 对不起,我在发言中做了一个概括.大多数时候(在本问题的例子中,大多数情况下)锚点标签或按钮应该用于可点击元素.使用它们的好处包括默认情况下获取`cursor:pointer`,默认情况下获取元素集上的`tabindex`,并使用屏幕阅读器将标记识别为可点击.我同意有时他们不是最合适的(比如当你试图制作一个包含嵌套元素的块元素时). (3认同)