我有一个动态生成的表,其中(当前)有一个规则,第一列必须是某种唯一标识符。该表是基于json文件生成的,我不认为这在这里非常重要。
每个表格行都有一个添加了class="delete"
的锚标记。当我点击该锚标签时,我执行以下代码:
e.preventDefault();
var idCell = $(this).closest('tr').find('td')[0];
如果我console.log(idCell)
,我的控制台会收到<td>01</td>
。
如果我console.log(typeof idCell)
我得到object
。
如果我在控制台中记录了DOM中随机元素的类型,我也会获得object
。
我的问题是:我无法从.val()
获取idCell
,而我可以从直接从DOM过滤的任何元素访问.val()
。
我主要担心的是为什么会这样(不)发生,如果这类问题存在修复,如果你愿意和我分享,我将非常感激。
编辑1: 这里有一个示例表。
<table>
<tr>
<th>
id
</th>
<th>
delete
</th>
</tr>
<tr>
<td>
01
</td>
<th>
<a href="#" class="delete">delete</a>
</th>
</tr>
</table>
当我点击删除链接时,请尝试获取表格的ID,最好使用jQuery。
答案 0 :(得分:0)
作为JJJ和 提到Daniel A. White,解决方案是:
1)使用.eq(0)
而不是[0]
来保持选择器是一个jQuery元素。
2)使用.text()
代替.val()
,因为只有输入字段具有值,而表格单元格不具有此值。
答案 1 :(得分:0)
这里的脚本(我工作正常)
$(".delete").bind("click",function(e) {
e.preventDefault();
var idCell = $(this).closest('tr').find('td');
idCell.html("");
});