我有一个动态创建的表(通过AJAX),我有一个事件需要在点击一个单元格时发生:
问题是该表是使用Datatables填充的,在使用json加载表后,该单元格包含空span
或span
文本:
<td> <span class="editnote"></span> </td>
<td> <span class="editnote">Non-empty cell</span> </td>
我无法将类移到<td>
,因为它是由Datatables创建的。
如何使用jQuery(或通过Javascript)选择点击的特定span
。
首先,我设置了css .editnote {min-width:25px;}
,因为我认为它是零宽度(因此无法点击)。这没用。
我可以同时选择空单元格和非空单元格:
非空单元格:
$('tbody').click(function(e){
if ($(e.target).hasClass('editnote')){
//... do stuff ...
}
});
空单元格:
$('tbody').click(function(e){
if ($(e.target).find('span').hasClass('editnote')){
//... do stuff ...
}
});
有没有办法用一个语句选择两个单元格?
答案 0 :(得分:1)
$('table').on('click', 'td', function () {
var td = $(this);
var editNoteSpan = td.find('span.editnote');
if(editNoteSpan.length > 0) {
alert('success');
}
});
答案 1 :(得分:0)
我相信你正在寻找类似的东西:
$('table').on('click', 'td', function () {
var $td = $(this);
if ($td.find('.editnote').length > 0) {
/* This <td> does have an .editnote element... */
}
});
也许?