2010-03-16 41 views
49

Tôi muốn thay đổi màu nền của ô bảng khi nút radio bên trong ô được nhấp.Cách tìm phần tử gốc bằng cách sử dụng javascript

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

Làm cách nào để tham chiếu phần tử gốc?

+3

'parentElement' là một kỳ lạ và hoàn toàn vô nghĩa tức là- chỉ tài sản. Chính tả bạn đang tìm kiếm là 'parentNode'. – bobince

+1

Sẽ hữu ích hơn khi đăng đầu ra HTML thực, chứ không phải các thẻ có hương vị Java. 'h: selectOneRadio' có thể dễ dàng chuyển đổi sang một số thẻ HTML lồng nhau và chọn cha mẹ ngay lập tức sẽ không hoạt động. – DisgruntledGoat

Trả lời

125

Sử dụng javascript đơn giản:

element.parentNode 

Trong jQuery:

element.parent() 
+0

Tôi đã thử như thế này nhưng nó không hoạt động Achaius

+0

'this' trong trường hợp của bạn phải là một yếu tố jQuery. thử '$ (this)'. –

+24

+1 không chỉ cho câu trả lời jQuery –

2

Sử dụng sự kiện thay đổi của chọn:

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

Ông đã gắn thẻ nó là jQuery? – ryanulit

Các vấn đề liên quan