jQuery Selector无法正常工作

时间:2017-04-12 22:33:53

标签: jquery html

我有一个jQuery Selector。这个正在运作。

var table_1 = '#table_1 td';

$(table_1).keyup(function(){
   //Some Array Push
});

这个不是。我的语法有问题吗?

var table_1;

$('#add_button').click(function(){
    table_1 = '#table_1 td';
});

$(table_1).keyup(function(){
   //Some Array Push
});

3 个答案:

答案 0 :(得分:2)

这不起作用的原因是因为在第二个示例中keyup事件已与undefined绑定,因为table_1变量仅在单击后获取值。

没有必要将table_1作为var并使用它。如果你不希望它们运行,你可以绑定和取消绑定事件。

$('#add_button').click(function(){
    $('#table_1 td').on('keyup',function(){
   //Some Array Push
   });
});

答案 1 :(得分:1)

语法很好,但逻辑有缺陷。在第二个示例中,当代码运行时(keyup函数已绑定)table_1undefined。由于jQuery选择器不选择任何元素,因此它们keyup甚至不会被绑定到任何元素。在点击事件运行之前,您尚未定义table_1

答案 2 :(得分:1)

因为你在'#add_button'函数中给了table_1 var一个值。 在调用keyup事件监听器之前,你需要给它一个值。