JQuery:我收到一个我无法定义的错误

时间:2011-11-28 22:48:12

标签: javascript jquery

当我这样做时:

var rows = $('#_table>tbody>tr').show();
rows.find('td:nth-child(1):not(:contains("'+typed_val+'"))').parent().hide();

有效。

然而,

当我这样做时:

col_pos=1
var rows = $('#_table>tbody>tr').show();
rows.find('td:nth-child('+col_pos+'):not(:contains("'+typed_val+'"))').parent().hide();

它不起作用。

可能发生这种情况的一些原因?

1 个答案:

答案 0 :(得分:1)

两个代码片段几乎相同。在这种情况下的问题可能是由于在严格模式下使用变量之前没有对变量进行去除。通过var

为您的变量添加前缀
var col_pos=1;
var rows = $('#_table>tbody>tr').show();

如果错误确实是由未在严格模式下声明变量引起的,则错误为:

  

assignment to undeclared variable col_pos   

<小时/>   加成:您应该将.find()替换为.children(),因为您不希望在子表中选择单元格。