【问题标题】:Change color tr onclick更改颜色 tr onclick
【发布时间】:2011-09-08 16:45:11
【问题描述】:

我有这段代码,当单击该行时,该行将更改为“selected_row”。再次单击时,它应该变回“$class”,但事实并非如此。是什么导致了问题,我该如何解决?

$class = ($class == 'even') ? 'odd' : 'even';

echo '<tr class="'.$class.'" onclick="this.className=this.className==\'selected_row\'? '.$class.' :\'selected_row\';">

【问题讨论】:

  • 顺便提一下,JavaScript 在浏览器看到的 html 上工作;对于 JS 问题,最好显示呈现的 html(查看源代码)而不是服务器端脚本。

标签: html css row html-table


【解决方案1】:

您好,您可以试试这个,只需将下面的函数放在您的 html 代码部分中即可。

<script type="text/javascript">
function toggleClass(ele,customClass)
{
    ele.className=ele.className=='selected_row' ? customClass:'selected_row';
}
</script>

然后将您现有的语法更改为:

echo '<tr class="'.$class.'" onclick="this.className=this.className==\'selected_row\'? '.$class.' :\'selected_row\';">

收件人:

echo '<tr class="'.$class.'" onclick="toggleClass(this,\''.$class.'\');"><td>apple</td></tr>';

希望这会有所帮助。

【讨论】:

    【解决方案2】:

    您忘记了最后一个 $class 后面的结束引号。

    我认为当您使用 FireBug 或类似的调试工具时,应该会出现这类语法错误。

    【讨论】:

    • 不确定。当我使用 onclick="this.className=this.className==\'selected_row\'?\'odd\' :\'selected_row\';"它工作正常。由于某种原因,$class 不起作用。
    • 是的,正如 Golez 所说,您在 $class 周围缺少 \' 引号。引号内的引号非常令人困惑,这就是为什么您应该将其分解为 Unobtrusive JavaScript 而不是将代码放入内联事件处理程序中。
    猜你喜欢
    • 1970-01-01
    • 2014-06-06
    • 2015-01-12
    • 1970-01-01
    • 1970-01-01
    • 2014-11-15
    • 1970-01-01
    • 1970-01-01
    • 2017-06-19
    相关资源
    最近更新 更多