Javascript can';t在由.find找到的元素上使用.val

Javascript can';t在由.find找到的元素上使用.val,javascript,jquery,dom,Javascript,Jquery,Dom,我有一个动态生成的表,其中(当前)有一个设置规则,即第一列必须是某种类型的唯一标识符。该表是基于json文件生成的,尽管我认为这在这里并不重要 每个表行都有一个锚定标记,添加了class=“delete”。单击该锚定标记时,执行以下代码: e.preventDefault(); var idCell = $(this).closest('tr').find('td')[0]; 如果我console.log(idCell),我将在控制台中获得01。 如果我console.log(idCell的类

我有一个动态生成的表,其中(当前)有一个设置规则,即第一列必须是某种类型的唯一标识符。该表是基于json文件生成的,尽管我认为这在这里并不重要

每个表行都有一个锚定标记,添加了
class=“delete”
。单击该锚定标记时,执行以下代码:

e.preventDefault();
var idCell = $(this).closest('tr').find('td')[0];
如果我
console.log(idCell)
,我将在控制台中获得
01
。 如果我
console.log(idCell的类型)
我得到
object
。 如果我从DOM中输入console.log随机元素的类型,我也会得到
object

我的问题是:我无法从
idCell
获取
.val()
,而我可以从直接从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>

身份证件
删去
01
当我单击删除链接时,请尝试获取表的ID,最好使用jQuery。

As and 如上所述,解决方案是:

1) 使用
.eq(0)
而不是
[0]
将选择器保持为jQuery元素

2) 使用
.text()
而不是
.val()
,因为只有输入字段有值,而表格单元格没有值。

以下是脚本(我觉得很好)


.val
用于输入,可能您需要
.text
?因为[0]是dom,使用
[0]
将其转换为原始dom元素。
.val()
是jQuery方法,而不是dom方法。它只适用于jQuery对象<代码>[0]拾取DOM对象,因此它在那里不起作用。使用
.eq(0)
代替
[0]
。只有输入字段有值,表格单元格没有值。它可以与
.text()
:e.preventDefault()配合使用;
$(".delete").bind("click",function(e) {
    e.preventDefault();
    var idCell = $(this).closest('tr').find('td');
    idCell.html("");
});