javascript - 单击 td 内的超链接时更改 td 颜色

标签 javascript html css wicket

我正在使用 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/

相关文章:

javascript - 谷歌条形图中的单个条形颜色

javascript - 如何为 Web 应用程序进行崩溃报告

html - Bootstrap 中的行是否需要直接父级?

javascript - 如何检测正在播放的 Flash 视频的时间

html - 彼此相邻的 div,具有大小,没有换行符

JavaScript:数组的最大值不起作用

javascript - onMouseOver 和 onMouseEnter 之间的区别

html - 如何将图像设置为 div 的背景并将其 "ZOrder"设置为 0?

html - IE 11 无法正确显示 CSS 填充

javascript - 如何在Xcode项目中包含jquery库?