我有一个清单:
<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>
会有一个“两个”类。
答案 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);
});
答案 1 :(得分:2)
你需要html()或text()而不是val()。函数val()用于输入元素,如文本,复选框等。同样把div放在ul之外,使你的html有效,因为Rory McCrossan指出
var v = $('#list').filter('.two').html();
答案 2 :(得分:1)
在Rory McCrossan对HTML进行修正之后,你可以做到这一点。
$("#pressed").click(function() {
alert($('#list .two').text());
});