javascript - 如何使用属性从 javascript 获取表的同一行中 td 元素的类的名称
问题描述
我正在尝试获取分配给 html 表中 td 元素的类名的名称。我给了两个 tds 的类名,其余的 tds 没有类名。如果我单击复选框元素,我想获取仅在同一行中具有 data-pk="NormalHrs" 属性的 tds 的类名,
这是代码
<script>
$("input:checkbox").on('click', function () {
var $box = $(this);
var classname = $box.parent('td').closest('td.data-pk="NormalHrs"').classname
})
</script>
<td class="EditableTd"><a href="#" data-pk="NormalHrs" class="editable editable-click">0.00</a><input type="hidden" class="bros" data-val="true" data-val-number="The field NormalHrs must be a number." data-val-required="The NormalHrs field is required." id="attendanceLogList_0__NormalHrs" name="attendanceLogList[0].NormalHrs" value="0.00"></td>
<td class="holidaycheck"><input type="checkbox" value="true" data-tag="HolidayHrs" data-val="true" data-val-required="The IsHolidayMarked field is required." id="attendanceLogList_0__IsHolidayMarked" name="attendanceLogList[0].IsHolidayMarked" autocomplete="off"><input type="hidden" value="false" id="attendanceLogList_0__IsHolidayMarked" name="attendanceLogList[0].IsHolidayMarked"> </td>
强文本 任何帮助将不胜感激
解决方案
假设您只知道单元格具有 data-pk="NormalHrs" 的内容并且您需要它的类名,试试这个
$("input:checkbox").on('click', function() {
const className = $(this).closest('tr').find("[data-pk=NormalHrs]").closest("td").attr("class")
console.log(className)
})
// OR
$("input:checkbox").on('click', function() {
const className = $(this).closest('tr').find('td:has(".editable")').attr("class")
console.log(className)
})
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<table>
<tr>
<td class="EditableTd">
<a href="#" data-pk="NormalHrs" class="editable editable-click">0.00</a>
<input type="hidden" class="bros" data-val="true" data-val-number="The field NormalHrs must be a number." data-val-required="The NormalHrs field is required." id="attendanceLogList_0__NormalHrs" name="attendanceLogList[0].NormalHrs" value="0.00">
</td>
<td class="holidaycheck">
<input type="checkbox" value="true" data-tag="HolidayHrs" data-val="true" data-val-required="The IsHolidayMarked field is required." id="attendanceLogList_0__IsHolidayMarked" name="attendanceLogList[0].IsHolidayMarked" autocomplete="off">
<input type="hidden" value="false" id="attendanceLogList_0__IsHolidayMarked" name="attendanceLogList[0].IsHolidayMarked"> </td>
</tr>
</table>
推荐阅读
- plsql - ORA-00933: 使用立即执行时 SQL 命令未正确结束
- bash - 这个命令行是做什么的?
- intellij-idea - 如何从intellij中的当前行跳转到上一行的开头和结尾?
- sql-server - 删除基于日期的时间线内出现的连续重复值
- javascript - Javascript - 在 Javascript 中计算 HTML 表列 AVG 值不起作用
- javascript - 带有有限标签集的 JavaScript 富文本编辑器
- c# - 为类库创建 Entity Framework Core 迁移
- javascript - React:必须不断更新状态以使 textarea 可编辑
- ruby-on-rails - 如何在 Ruby on rails 中从 Firebase 发布和获取数据
- javascript - 即使未打开开发工具,如何在 Chrome 的网络选项卡中记录 XHR 请求?