我正在使用 Wicket 创建一个表,该表具有多个链接并且每个链接具有不同的功能。现在,我想在单击链接时更改 td 的颜色。我尝试了不同的代码,结果要么只是链接的一部分发生了变化,要么是点击时 td 发生了变化,但随后链接没有被点击。
<td width=30 onclick="javascript:this.style.background = '#009999';" style='width: 22.5pt; background: #FF0004; padding: 0cm 0cm 0cm 0cm; height: 30.0pt' id=redcell>
<p class=MsoNormal align=center style='text-align: center'>
<span style='font-size: 10.0pt; font-family: "Arial", "serif"; color: #222222'>
<a href="#" wicket:id="agent_one" value="1" >
<b>
<span style='display:block; font-size: 12.0pt; color: white' >1</span>
</b>
</a>
<o:p></o:p>
</span>
</p>
</td>
最佳答案
您可以使用 parentNode 属性“向上钻取”DOM 层次结构。在您的情况下,TD 是链接的祖祖父元素(中间有一个段落和一个跨度),因此您需要添加到链接中的内容如下所示:
onclick="javascript:this.parentNode.parentNode.parentNode.style.backgroundColor = '#009999';"
或者在完整代码的上下文中:
<td width=30 style='width: 22.5pt; background: #FF0004; padding: 0cm 0cm 0cm 0cm; height: 30.0pt' id=redcell>
<p class=MsoNormal align=center style='text-align: center'>
<span style='font-size: 10.0pt; font-family: "Arial", "serif"; color: #222222'>
<a href="#" onclick="javascript:this.parentNode.parentNode.parentNode.style.backgroundColor = '#009999';" wicket:id="agent_one" value="1" ><b><span style='display:block; font-size: 12.0pt; color: white' >1</span> </b></a>
<o:p></o:p> </span>
</p>
</td>
关于javascript - 单击 td 内的超链接时更改 td 颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28846880/