javascript - CSS 不适用于 jquery 表上新添加的行

标签 javascript jquery html css

<分区>

我有一个表格,用户可以在其中选择一行。我制作了一些 CSS 来突出显示选定的行。用户可以向原始表中添加行。问题是添加的行在选择时没有突出显示。

HTML 部分:

<table class="table_to_fill" id="table_id">
        <thead>
                <tr>
                    <th> title 1 </th>
                    <th> title 2 </th>
                </tr>
        </thead>
        <tbody>

            <tr>
                   <td>old row 1</td>
                   <td>old row 1</td>
            </tr>
            <tr>
                   <td>old row 2</td>
                   <td>old row 1</td>
            </tr>

        </tbody>
</table>

CSS:

.table_to_fill tr:hover, .table_to_fill tr.selected {
background-color: #1E90FF;
color : #fff;
font-weight : bold;}

Javascript:

$(".table_to_fill tr").click(function(){
$(this).addClass("selected").siblings().removeClass("selected");
});

//to add rows
$("#add_row_button").click(function(){
$('#table_id tr:last').after('<tr><td>new row</td><td>new row</td></tr>');
});

那么我做错了什么?感谢您的帮助。

最佳答案

使用delegated event因为行是在 DOM 就绪后添加到 DOM 的,所以事件不会在新添加的行上触发:

$(".table_to_fill").on('click','tr',function(){
$(this).addClass("selected").siblings().removeClass("selected");
});

FIDDLE EXAMPLE

jquery事件委托(delegate)可以从here中理解

关于javascript - CSS 不适用于 jquery 表上新添加的行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25103936/

上一篇:html - 创建欢迎面板的简单代码

下一篇:html - Bootstrap 按钮在面板标题内折叠

相关文章:

php - HTML 表格到 XLS(用于公式的单元格)

javascript - 正则表达式为空

javascript - 无验证码 reCAPTCHA 调整大小选择图像窗口

javascript - 提取Math.max中的元素

javascript - 通过 ajax 调用向序列化表单添加额外数据

javascript - JS :How to turn any value to be a hyperlink via HTML form

javascript - 捕获组不能按预期工作

javascript - JQuery - promise 数组和格式响应

jquery - Phonegap 媒体 API (Android) - 媒体未定义

html5 <aside> 标签