如何使用JavaScript查找父元素

53

当单选按钮被点击时,我想要更改表格单元格的背景颜色。

<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
1
更有益的做法是发布真正的HTML输出,而不是Java风格的标签。h:selectOneRadio可以很容易地转换为一些嵌套的HTML标签,并选择其直接父级将无法起作用。 - DisgruntledGoat
2个回答

129

使用纯JavaScript:

element.parentNode
在jQuery中:
element.parent()

我尝试过这样做,但它没有起作用:<h:selectOneRadio value="#{book.price}" onclick="this.parent().css('background', '#FEDA46');"> - Achaius
在您的情况下,“this”必须是jQuery元素。请尝试使用“$(this)”语法。 - Yuval Adam

3
使用 select 的 change 事件:
$('#my_select').change(function()
{
   $(this).parents('td').css('background', '#000000');
});

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接