2015-05-05 56 views
0

如何選擇最後一行的前一行?如何選擇最後一行的前一行

我的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/

+0

thankzz。它運作良好。 –

回答

3

tr:last select將尋找選擇最後一排。你需要先找到最後一行,遍歷到前一個tr,然後找到它中的select元素。就像這樣:

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

Working Demo

從標記看來,你只有一個選擇。如果情況總是如此,則無需執行所有遍歷和內容。 $('#table1 select')將用於定位單個選擇元素。

+0

thankzz。它運作良好。 –

+0

@jackrose:很高興幫助:) –

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 ... 
    } 
}); 
1

試試這個:

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