当用户点击表tbody tr时

时间:2012-03-29 23:04:29

标签: javascript jquery click

我想知道是否有人能告诉我为什么以下不起作用。

$("tbody[name=leadstores] tr").live('click',function(e){
        alert("clicked");
        alert(this.attr("id"));
});

3 个答案:

答案 0 :(得分:2)

你的根本问题是需要在jQuery函数中包装this。否则你不能使用jQuery的方法。

alert($(this).attr("id"));

虽然这不会导致您的Javascript错误,但您不应对输入元素的任何接受使用name属性。

此外,自jQuery 1.7起,.live()已被折旧。您应该使用.on()代替。

答案 1 :(得分:0)

有几件事:

this不是jQuery对象,必须包含在$(this)中才能使用jQuery方法

您确定TBODY具有name属性吗? TBODY并不常见。如果它没有名称,则选择器将找不到它

答案 2 :(得分:0)

您提供的代码示例确实有效(尽管正如其他人所指出的那样,您需要将this包装在jQuery包装器中。

以下是您的代码示例(包含一些支持HTML)

http://jsfiddle.net/Wmswm/