2010-07-01 122 views
0

我有一個名爲currentTD的數組,它包含兩個整數,數組中的第一個元素是一個ID到<TR>元素,而數組中的第二個元素是一個<TD>的ID元素在<TR>之內。在jQuery中從它的ID中選擇一個TD元素

我想以某種方式選擇<TD>並更改其背景顏色。我只是不確定如何從currentTD中選擇<TD>給定「座標」?

謝謝。

+3

..現在看看爲什麼唯一ID很重要嗎?你有多個相同的多個TR ID和多個相同的TD ID ..無法區分它們.. – 2010-07-01 02:08:46

+0

@Gaby,「你有多個相同的TR ID和多個相同的TD ID。」我不知道OP在哪些方面說這些事情。 – 2010-07-01 02:09:59

+2

@Matthew - @ Gaby的權利,看看他以前的問題:http://stackoverflow.com/questions/3154532/getting-the-co-ordinates-of-a-td-cell-using-jquery – 2010-07-01 02:11:50

回答

0

元素的ID是唯一的,所以您可以選擇使用< TD的ID>直接:

$('#' + currentTD[1]).css('background-color', color); 
2

這是基於你的previous question:你可以使用.eq(),像這樣:

$("table").find("tr").eq(trIndex).children("td").eq(tdIndex) 
      .css({ backgroundColor: "red" }); 

這裏假設你有一個這樣的數組:[tdIndex, trIndex]。至於你以前的標記,刪除這些ID,它們都是無效的,不需要。

ID不能以數字開頭(除非您使用HTML5)不能重複,因爲它們在您的<td> s上。但是既然你可以通過索引得到你想要的東西......無論如何不需要id屬性,所以只需刪除它們即可。

+0

我認爲OP要'id's ... – Reigel 2010-07-01 02:08:55

+0

@Reigel - 「座標」這個詞讓我懷疑,我認爲他所擁有的是「第12行,第4行」。當然,我在這裏猜測,可能是完全錯誤的。 – 2010-07-01 02:10:37

+1

+1 ...... OP應該重新考慮他的標記...... – Reigel 2010-07-01 02:21:35

0

如果當前的TD有TD的ID來更改它的背景,因爲它是第二個元素,那麼以下應該工作。

$('#' + currentTD[1]).css('background-color', 'red');