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

时间:2013-11-06 11:40:49

标签: 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>

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

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

但所有这一切都是0。最好的方法是什么?

,任何时候只有一个<li>会有一个“两个”类。

3 个答案:

答案 0 :(得分:8)

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

<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>

其次,text()是您想要的属性,而不是val()

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

Example fiddle

答案 1 :(得分:2)

你需要html()或text()而不是val()。函数val()用于输入元素,如文本,复选框等。同样把div放在ul之外,使你的html有效,因为Rory McCrossan指出

Live Demo

var v = $('#list').filter('.two').html();

答案 2 :(得分:1)

在Rory McCrossan对HTML进行修正之后,你可以做到这一点。

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