2011-10-22 59 views
1

我需要一個jQuery腳本,它可以在所有td上更改顏色,前提是它包含一個包含「BG5」的onClick。 它需要在IE7上工作。我試過$(「a:contains('BG5')」).css(「background」,「#F6CED8」);在TD上更改bgcolor,其中包含一個包含XXX的onClick

這可能嗎?

它們TD得到BUTTOM

<tr bgcolor='#F2F2F2'> 
    <td>2011-04-18</td> 
    <td>a</td> 
    <td>a</td> 
    <td align="center"><a href="#" onClick="edit('BG5')"><img src="../img/icon/skruenogle.png" border=0 alt="Delete corr"></A> 
    <td align="center"><a href="#" onClick="disregard('BG5')"><img class="click" src="../img/icon/redcross.png" border=0 alt="Delete corr"></A></td> 
</tr> 

<tr bgcolor='#FFFFFF'> 
    <td>2011-04-18</td> 
    <td>a</td> 
    <td>a</td> 
    <td align="center"><a href="#" onClick="edit('1A1')"><img src="../img/icon/skruenogle.png" border=0 alt="Delete corr"></A> 
    <td align="center"><a href="#" onClick="disregard('1A1')"><img class="click" src="../img/icon/redcross.png" border=0 alt="Delete corr"></A></td> 
</tr> 

回答

2

通過推的效果。如果我理解正確,你正在試圖做的是改變每tr元素的背景顏色包含a標籤在名爲onClick的屬性中具有字符串「BG5」。

如果沿着右邊線的,嘗試這樣的事情:

$("a").filter(function() { 
    if($(this).attr("onClick")) { 
     return $(this).attr("onClick").indexOf("BG5") !== -1; 
    } 
}).closest("tr").css("background-color", "blue"); 

這裏有一個working example使用HTML和上面的jQuery。基本上,獲取所有a元素後,對它們進行過濾,因此我們只剩下onClick屬性中包含字符串「BG5」的那些元素,爲其獲取最接近的tr元素,並設置背景顏色。

需要注意的重要一點是attr方法區分大小寫,因此您需要確保您的HTML與您的HTML一致!

在另一張紙條上,你真的不應該使用bgcolor屬性,as it's deprecated。應該始終使用CSS。此外,還有一些td元素在您的問題的代碼中尚未關閉。這可能只是一個錯字,但值得一提,以防萬一!

+0

嗨...可以看到你的例子工作正常,但有一些錯誤的關鍵在IE與真正的一個我不工作在IE7。 http://jsfiddle.net/xzHAX/ – boje

+0

你的意思是「有什麼問題」? *哪裏不對? –