如何排除我在下面创建的jquery的click事件中的第一个td?我想在生成对话框的click事件中排除行的所有第一个td。
jQuery("#list tbody tr").click(function(){
//some code here
});
<table>
<tr>
<td>first</td>
<td></td>
<td></td>
</tr>
<tr>
<td>first</td>
<td></td>
<td></td>
</tr>
</table>
答案 0 :(得分:15)
如何使用first-child
选择器与:not
结合使用
jQuery("#list tbody tr td:not(:first-child)").click(function(){
//some code here
});
答案 1 :(得分:3)
试试这个,
jQuery("#list tbody tr").each(function() {
jQuery("td:not(:first)",this).click(function() {
alert($(this).text());
//some code here
});
});
记住你也在html中使用tbody
答案 2 :(得分:1)
jQuery("#list tbody tr td:not(:first)")
答案 3 :(得分:1)
$('#list tr td:not(:first)').click(function() {
// ...
})
顺便说一句。你从哪里得到的?另外,你的表需要一个id =“list”,所以:
<table id="list">
<tr>
<td>first</td>
<td></td>
<td></td>
</tr>
<tr>
<td>first</td>
<td></td>
<td></td>
</tr>
</table>
答案 4 :(得分:0)
jQuery("#list tbody td").not(':first').click(function(){
//some code here
});
答案 5 :(得分:0)
无论是第一个还是中间,我通常都会在 td
上放置一个属性,表示 noclick
并执行以下操作:
<table>
<tr>
<td></td>
<td noclick></td>
<td></td>
</tr>
<tr>
<td></td>
<td noclick></td>
<td></td>
</tr>
</table>
然后运行
$('table tr td:not([noclick]').on('click', (obj) => {
let el = obj.currentTarget;
$(el).css('background-color', 'red');
});
jsFiddle:https://jsfiddle.net/9j2qL7b0/