我正在尝试使用类' .item_description'来访问div的文本内容。对于已经选中复选框的表中的所有行,但我似乎无法得到它。复选框位于每行的嵌套表中。
我的HTML是:
<table id="table-tasks-list" class="table-hover">
<tbody>
<tr id="row-task-10572" class="task-modal-row">
<td >
<div class="task_description pull-left" style="padding:5px 0 0 5px;">Qui at dolore sit alias cum voluptate ad...</div>
<table class="pull-right" style="border:none;">
<tbody>
<tr>
<td style="width:80px;border:none;">2015-02-23</td>
<td class="hours" style="width:30px;border: none;">8.00</td>
<td class="row-icon tasks-check-box" style="border: none;">
<label class="checkbox-hold">
<input type="checkbox" name="bill-task" id="chk-10572" class="task-checkbox ion-fw" checked=""><span class="fake-input checkbox-icon ion-android-checkbox-outline-blank ion-fw" data-chk-id="10572"></span></label>
</td>
</tr>
</tbody>
</table>
</td>
</tr>
<tr id="row-task-10573" class="task-modal-row">
....
在我的JS中,我这样做:
$('table#table-tasks-list tbody tr td input.task-checkbox').each(function(i, check) {
if ($(check).is(':checked')) {
console.log($(check).closest('table#table-tasks-list tbody tr').find('.task_description').text());
}
});
但我得到空洞的结果。我错过了什么?谢谢!
答案 0 :(得分:3)
使用
$(check).closest(".task-modal-row").find(".task_description").text();
访问最近的.task_description
答案 1 :(得分:2)
根据你的代码,它应该是这样的:
$(check).closest('.task-modal-row').find('.task_description').text()
答案 2 :(得分:1)
您的closest()
定位整个表格,并输出所找到的所有.task-description
的内容,而不管是否有复选框。您只需要前往包含tr
:
console.log($(check).closest('tr[id^="row-task-"]').find('.task_description').text());
答案 3 :(得分:0)
我不知道为什么它不起作用。但是,我相信我遇到了类似的问题并通过在循环中使用$(this)
而不是使用回调函数的第二个参数(在您的示例中为check
)来修复它。我希望这有帮助...