我需要一个选择器说:
任何包含复选框的表格单元格
现在,我正在使用:
$('td input').filter(':checkbox').each(function() {
$(this).closest('td').addClass('CursorPointer');
});
$('td.CursorPointer').on('click',function() {
$('input:checkbox',this).click();
});
它有效,但可能不是“最佳”。
答案 0 :(得分:7)
使用the :has()
selector或the has()
method:
// select all <td> elements that have a checkbox in them
$('td:has(input:checkbox)');
// same effect
$('td').has('input:checkbox');
请注意,input:checkbox
相当于Sizzle / jQuery中的input[type="checkbox"]
。
您的代码示例可以重写为:
$('td:has(input:checkbox)').on('click', function() {
$('input:checkbox', this).click();
});
或者...
$('td').has('input:checkbox').on('click', function() {
$('input:checkbox', this).click();
});
请注意,.has()
效率高于:has
:http://jsperf.com/jquery-has-vs-has虽然:has()
稍微更具可读性恕我直言。
答案 1 :(得分:1)
不$("td:has(:checkbox)")
做你想做的事吗?你试过吗?
答案 2 :(得分:1)