Javascript 当用户单击表tbody tr时
我想知道是否有人能告诉我为什么下面的方法不起作用Javascript 当用户单击表tbody tr时,javascript,jquery,click,Javascript,Jquery,Click,我想知道是否有人能告诉我为什么下面的方法不起作用 $("tbody[name=leadstores] tr").live('click',function(e){ alert("clicked"); alert(this.attr("id")); }); 您的根本问题是需要将这个包装到jQuery函数中。否则就不能使用jQuery的方法 alert($(this).attr("id")); 虽然这不会导致Javascript错误,但您不应该在任何accept
$("tbody[name=leadstores] tr").live('click',function(e){
alert("clicked");
alert(this.attr("id"));
});
您的根本问题是需要将
这个包装到jQuery函数中。否则就不能使用jQuery的方法
alert($(this).attr("id"));
虽然这不会导致Javascript错误,但您不应该在任何accept for input元素上使用name
属性
此外,从jQuery 1.7开始,已折旧。您应该改用。以下几点:
此
不是jQuery对象,必须包装在$(this)
中才能使用jQuery方法
您确定TBODY
具有name
属性吗?对于t车身
,这不是一件常见的事情。如果它没有名称,那么选择器将找不到它。您提供的代码示例确实有效(不过,正如其他人所指出的,您需要将此
包装在jQuery包装器中
下面是一个代码示例(带有一些支持HTML的代码)
您能发布一个HTML示例吗?.live已被弃用。您必须使用旧库的任何原因?请使用。单击(function(){});instead@IsaacFifeclick
不能很好地替代像live()
这样的委派方法。如果使用“on”,则使用on()
更合适,只需确保您传递了正确的签名(否则,您就错过了委托!),类似于:$(“#foo”)。在(“单击”,function(){/*../})将导致事件被绑定(类似于。单击或绑定('click')),而不是:$(“#foo”)。在(“单击”,“#bar”,function(){/*/})它代表事件。name属性对TBODY元素无效。它不限于输入元素,它对以下所有元素(某些元素需要)都有效:按钮、文本区域、小程序、选择、窗体、框架、IFRAME、IMG、A、输入、对象、映射、参数和元。