Javascript tr点击事件和新创建的行(更新css)
我对网络开发非常陌生。我目前正在使用jquery插件创建一个动态表,用户可以在其中添加和删除行。单击后,我无法更改新创建的行的背景色。它可以很好地处理用html硬编码的行。以下是相关代码:Javascript tr点击事件和新创建的行(更新css),javascript,jquery,css,html-table,Javascript,Jquery,Css,Html Table,我对网络开发非常陌生。我目前正在使用jquery插件创建一个动态表,用户可以在其中添加和删除行。单击后,我无法更改新创建的行的背景色。它可以很好地处理用html硬编码的行。以下是相关代码: $(document).ready( function() { $('table.tablesorter td').click( function (event) { $(this).parent('tr').toggleClas
$(document).ready(
function() {
$('table.tablesorter td').click(
function (event) {
$(this).parent('tr').toggleClass('rowclick');
$(this).parent('tr').siblings().removeClass('rowclick');
});
}
)
rowclick是此处的CSS类:
table.tablesorter tbody tr.rowclick td {
background-color: #8dbdd8;
}
我已尝试将以下内容添加到添加新行的Javascript函数中:
var createClickHandler =
function(newrow) {
return function(event) {
//alert(newrow.cells[0].childNodes[0].data);
newrow.toggleClass('rowclick');
newrow.siblings().removeClass('rowclick');
};
}
row.onclick = createClickHandler(row);
当我单击新行时,警报将在该行的第一列中正确显示文本。但是,我的新行不响应CSS类。有人有什么想法吗
我还应该提到,在应用clickHandler之前,我已经更新了tablesorter,包括:
$("#TASKTABLE").trigger("update");
$("#TASKTABLE").trigger("appendCache");
委派可单击的
td
元素,如:
$('table.tablesorter').on('click','td', function(){
使用jQuery 1.7中的.on()
:
从jQuery 1.7开始,.on()方法提供附加事件>处理程序所需的所有功能。有关从旧的jQuery事件方法转换的帮助,请参见.bind()、.delegate()、>和.live()。要删除与.on()绑定的事件,请参阅.off()。要附加一个只运行>一次然后删除自身的事件,请参见.one()
委派可单击的
td
元素,如:
$('table.tablesorter').on('click','td', function(){
使用jQuery 1.7中的.on()
:
从jQuery 1.7开始,.on()方法提供附加事件>处理程序所需的所有功能。有关从旧的jQuery事件方法转换的帮助,请参见.bind()、.delegate()、>和.live()。要删除与.on()绑定的事件,请参阅.off()。要附加一个只运行>一次然后删除自身的事件,请参见.one()
试试这个:
$(newrow).toggleClass('rowclick');
$(newrow).siblings().removeClass('rowclick');
试试这个:
$(newrow).toggleClass('rowclick');
$(newrow).siblings().removeClass('rowclick');
非常感谢你!!!我整天都在想这个。美元()实际上是什么意思。我有点直接进入这个项目,有0个html/javascript经验。@yalechen不客气,
$()
是返回jQuery对象的jQuery选择器,然后你可以使用jQuery方法来操作所选元素。非常感谢!!!我整天都在想这个。美元()实际上是什么意思。我有点直接进入这个项目,拥有0 html/javascript经验。@yalechen不客气,$()
是返回jQuery对象的jQuery选择器,然后您可以使用jQuery方法来操作所选元素。谢谢,现在效果很好。这实际上是做什么的?为什么我的上一个版本不起作用?这是一个新的jQuery方法,用于替换现在已弃用的.live()
方法。它实际做的是通过将单击事件委托给现有和未来创建的td
元素。在这里阅读更多:谢谢,现在效果很好。这实际上是做什么的?为什么我的上一个版本不起作用?这是一个新的jQuery方法,用于替换现在已弃用的.live()
方法。它实际做的是通过将单击事件委托给现有和未来创建的td
元素。请在此处阅读更多信息: