jQuery("#contentItems table.tablesorter tbody tr td:eq(3)").live('mousedown', function (e) {
var tr = jQuery(this);
tr.fadeTo('fast', 0.5);
});
基本上,当我点击它们时,我希望表格中每行的第4个单元格淡出一点。但上面的代码似乎只适用于第一个tr的第四个单元格。有什么想法吗?
答案 0 :(得分:1)
:eq(3)
都与第3 td
完全匹配。您想要使用nth-child
选择器。我还建议您使用delegate
,因为它更快更清洁:
答案 1 :(得分:0)
使用delegate
$("#contentItems table.tablesorter tbody tr").delegate('td:eq(3)', 'mousedown', function(e){
$(this).fadeTo('fast', 0.5);
});
或者使用基于1个索引的nth-child
选择器
$("#contentItems table.tablesorter tbody tr td:nth-child(4)").live('mousedown', function(e){
$(this).fadeTo('fast', 0.5);
});
答案 2 :(得分:0)
为什么#contentItems table.tablesorter tbody tr td
会匹配表格中所有行中的所有td
,然后:eq(3)
将匹配该集合中的第4个td
。
请改为尝试:
jQuery("#contentItems table.tablesorter tbody tr")
.delegate("td:eq(3)", 'mousedown', function () {
var tr = jQuery(this);
tr.fadeTo('fast', 0.5);
}
);
答案 3 :(得分:0)
试试这个:
jQuery("#contentItems table.tablesorter tbody tr").each(jQuery("td:eq(3)", this).live('mousedown', function (e) {
var tr = jQuery(this);
tr.fadeTo('fast', 0.5);
}))
这会将内部jQuery选择器(获取第4个td元素)应用于每一行,然后应用你的mousedown。 (注意,语法/拼写错误可能需要进行一些编辑)