当我这样做时:
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();
它不起作用。
可能发生这种情况的一些原因?
答案 0 :(得分:1)
两个代码片段几乎相同。在这种情况下的问题可能是由于在严格模式下使用变量之前没有对变量进行去除。通过var
:
var col_pos=1;
var rows = $('#_table>tbody>tr').show();
如果错误确实是由未在严格模式下声明变量引起的,则错误为:
<小时/> 加成:您应该将
assignment to undeclared variable col_pos
.find()
替换为.children()
,因为您不希望在子表中选择单元格。