我有一個HTML看起來大致是這樣的:有沒有辦法獲得與鏈接幾個.next()方法相同的結果?
<tr id="row">
<td id="cell_1">Cell 1</td>
<td id="cell_4">Cell 4</td>
<td id="cell_8">Cell 8</td>
<td id="cell_9">Cell 9</td>
<td id="cell_11">Cell 11</td>
...
</tr>
我沒有改變它的方式。例如,我有一個變量cell
,它指向表示第二個td
的jQuery對象,並且我想要獲取cell
之後的元素,即n
單元格。一個辦法讓這將是:
var cell = $("#cell_4");
var next = cell;
for (var i = 0; i < n; i++) {
next = next.next();
}
但我認爲這不是最正確的方法,因爲它需要n
的「動作」通過DOM量。我能想到過的另一種方法包括使用index()
方法(未測試,因此它可以包含一些錯誤,但我認爲方法是可以理解的):
var index = $("#row > td").index(cell);
var next = $("row td:nth-child(" + index + n + ")");
是否有「更好」,建於,方式來實現那結果?例如,一些東西,應該是這樣的:
var next = cell.nextTimes(n);
你不能把你的細胞ID已經存儲了在變量中並將其增加n,然後通過其ID獲取結果單元格? – 2012-02-07 12:59:56
不,因爲你可以在例子html中看到,數字之間可能會有一些「漏洞」。例如,如果我們把'n === 2'和'cell'指向第一行,我們最終會用'$(「#cell_3」)'而不是'$(「#cell_8」)'。 – Przemek 2012-02-07 13:03:55