2010-03-16 85 views
49

當單擊單元格內的單選按鈕時,我想更改表格單元格的背景顏色。如何使用javascript查找父元素

<table> 
    <tr> 
    <td align="center"> 
     <input type="radio" value="foo" 
     onclick="this.parentElement.style.background-color='red';" /> 
    </td> 
    </tr> 
</table> 

如何獲取父元素引用?

+3

'parentElement'是一個奇怪的,完全沒有意義IE-只有財產。您正在尋找的拼寫是'parentNode'。 – bobince 2010-03-16 12:59:54

+1

發佈真實的HTML輸出,而不是Java風格的標籤會更有好處。 'h:selectOneRadio'可以很容易地轉換爲一些嵌套的HTML標籤,選擇直接的父代將不起作用。 – DisgruntledGoat 2010-03-16 13:00:39

回答

125

使用普通的JavaScript:

element.parentNode 

在jQuery中:

element.parent() 
+0

我試過這樣但它不工作 Achaius 2010-03-17 04:36:16

+0

'This'在你的情況下必須是一個jQuery元素。嘗試'$(this)'。 – 2010-03-17 09:10:50

+24

+1不只是給出一個jQuery答案 – 2013-08-20 19:03:04

2

使用選擇的更改事件:

$('#my_select').change(function() 
{ 
    $(this).parents('td').css('background', '#000000'); 
}); 
+1

他把它標記爲jQuery? – ryanulit 2010-03-16 12:49:58

相關問題