如何选择最后一行的前一行

时间:2015-05-05 11:07:21

标签: jquery

如何选择最后一行的前一行?

我的HTML代码:

<table id="table1">
 <tr><td>test</td></tr>
 <tr><td>test</td></tr>
 <tr><td>test</td></tr>
 <tr><td><select></select></td></tr>
 <tr><td>test</td></tr>
</table>

现在我想给使用jquery提供选项。

JS:

$('#table1 tr:last select').prev().append("<option>rose</option>");

但它不起作用。 请帮忙。

小提琴:http://jsfiddle.net/xzj5m3w8/

3 个答案:

答案 0 :(得分:3)

tr:last select将在最后一行中查找select。你需要先找到最后一行,遍历前一个tr,然后在其中找到select元素。像这样:

$('#table1 tr:last').prev().find('select').append("<option>rose</option>");

<强> Working Demo

从标记看,您只有一个选择。如果总是如此,你不需要做所有的遍历和东西。 $('#table1 select')将用于定位单个选择元素。

答案 1 :(得分:2)

在特定表中只有一个select元素,因此您只需在父表中使用find()

$('#table1').find('select').append('<option>rose</option>');

另一种方法是:

$('#table1 tr').each(function() {
   var that = $(this);
   var l = that.find('select').length;
   if (l > 0) {
      // the row has a select element ...
   }
});

答案 2 :(得分:1)

试试这个:

$('.k-item').on('click', function (e) {
        if ($(e.target).is('input')) {// or event.target.type
               //do stuff
        }
});