0

这是一个代码示例:

$('#TBI tr.k-state-selected')[0].cells[0].find("input").val(selectedId).change();

我实际上是在尝试更改 KendoUI 网格上单元格的值。但由于某种原因,它在.find 上给了我一个“对象不支持这种方法”。

如果我这样做:

$('#TBI tr.k-state-selected').find("input").val(selectedId).change();

它没有给我错误(但也不是我想要的结果)。当我把数组元素拿走时,从语法的角度来看似乎很好。

所以我的问题变成了:当涉及到数组元素时,我该如何进行这样的查找。

4

3 回答 3

3

如果我遵循您的伪代码逻辑,您可能想要

$('#TBI tr.k-state-selected:eq(0) td:eq(0) input').val(selectedId).change();

那是 :

第一行的第一个单元格中的输入,在 id TBI 的元素中选择了类 k-state-selected。

于 2012-09-21T15:17:44.513 回答
1

我不认为cell[0]它是一个 jQuery 对象,所以你不能在它上面调用一个 jQuery 方法。

尝试再次将其包装到 jQuery 对象中

var $cell = $($('#TBI tr.k-state-selected')[0].cells[0]);

$cell.find("input").val(selectedId).change();

或者当然,修复您的选择器以返回所需的元素以开头,如dystroy's answer 将省去再次包装它的麻烦。

于 2012-09-21T15:20:31.403 回答
0

尝试使用eq jquery 函数来获取 jquery 对象,而不是通过使用获取 javascript 对象[0]

现场演示

$('#TBI tr.k-state-selected').eq(0).find("td:eq(0) input").val(selectedId).change();
于 2012-09-21T15:18:23.477 回答