2009-09-26 106 views
0

我有一個表中有兩個ids row_26和notificationrow_26。jquery選擇器問題

我想突出顯示row_26。所以我用

var deviceUID = 26; 
$("#row_" + deviceUID).effect("highlight", {}, 3000);  

OR 

$("tr[id^='row_"+deviceUID+"']").effect("highlight", {}, 3000); 

但是當我這樣做。它還突出顯示了notificationrow_26。此外,突出顯示無法在notificationrow_26上正常運行。它不會將其顏色改回原來的顏色。

我錯過了什麼嗎?

+0

我認爲你需要顯示更多的代碼,因爲你的第一個選擇器應該突出顯示單行。 – tvanfosson 2009-09-26 12:45:29

回答

2

這兩個選擇器都適用於我選擇單個元素row_26,這不是你想要做的嗎?如果是的話,你的代碼中的其他地方可能存在一個問題,那就是你沒有包括在內。

[id^=row_26]也會匹配ID如row_260,但是,這可能不是你想要的。

如果你想匹配(anything)row_26趕上兩個row,你需要結束屬性的選擇,而不是開始時間的屬性notificationrow[id$=row_26]。 [另外:但是如果性能是一個問題,使用兩個單獨的選擇器#row_26#notificationrow_26會更快,它允許jQuery使用getElementById,而不必搜索每個元素的id。或者你也可以自己甚至稱之爲:

$(document.getElementById('row_'+deviceUID)).effect(...); 
$(document.getElementById('notificationrow_'+deviceUID)).effect(...); 

這看起來少「的jQuery樣」,但它的速度更快,你不必擔心,在屬性值「特殊」字符不適合一個選擇器。]

+0

非常感謝你的工作。我感謝您的幫助 – 2009-09-27 02:52:48