jquery - 突出显示表格中的行

标签 jquery html css

我有以下 HTML/jQuery 代码,并试图在单击复选框时突出显示表格中的一行,但不幸的是我似乎无法让它继续。

见下面的代码:

<style type="text/css">
.highlight {
    background-color: yellow;
}
</style>

<tr>
  <td class="t12datavalue" align="center" style=""><input type="checkbox" value="123" name="f01"></td>
  <td class="t12datavalue" style="">123</td>
  <td class="t12datavalue" style="">333</td>
  <td class="t12datavalue" style="">Alex</td>
  <td class="t12datavalue" style="">Smith</td>
</tr>

<script language="javascript" type="text/javascript">
  $(document).ready(function() {
    $('td input[type="checkbox"]').click(function() {
        if ($(this).is(':checked')){
             $(this).parent().parent().addClass('highlight');
        } else if($(this).parent().is('.highlight')) {
             $(this).parent().parent().removeClass('highlight');
        }
    }); 
  }); 
</script>

最佳答案

对其他答案中想法的改进:

$('td :checkbox').bind('change click', function () {
    $(this).closest('tr').toggleClass('highlight', this.checked);
}).change();

我绑定(bind)到 changeclick 事件的原因是 change 在 IE 中复选框失去焦点后错误地触发,而 click 不会触发键盘事件。

我使用 .toggleClass with a switch因此尽管处理程序被触发两次(一次来自 change,一次来自 click),但高亮保证与复选框状态同步。

最后,我立即触发 change 事件,以便在 DOM 准备就绪时正确应用类。

关于jquery - 突出显示表格中的行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5494021/

相关文章:

javascript - 多标签行响应

html - 多个 div 的 z-index 和位置

php - 切换动态内容时未应用 css

javascript - 根据屏幕分辨率javascript更改div高度

javascript - 如何使用 jQuery 设置选择框的第一个选项?

jquery - 如何在输入按钮中触发?

php - 如何从动态加载的 ajax 文件重定向整个页面

html - 列表分为多列

html - 在vba中按顺序获取html标签

html - 我有这样的代码 :Dropdown button need to fetch the data which i have entered in input textfield