0

在我的页面上,有两种形式。我只想选择单击提交按钮的那个。

我认为以下应该可以解决问题:

$("#signup,#login").submit(function(){
    $(this).parent("form:first").css('background-color', 'red');
    return false;   
});

但是使用“form:first”选择器,什么都不会发生(可能是因为它正在选择容器 div)。如果没有“form:first”选择器,则会选择容器 div。

http://jsfiddle.net/tenfold/gupGD/

任何人都可以帮忙解决这里发生的事情吗?非常感谢。

4

3 回答 3

2

你可以使用.closest()方法

$("#signup,#login").submit(function(){
    $(this).closest("form").css('background-color', 'red');
    return false;   
});
于 2013-02-05T17:20:36.053 回答
2

你可以做

$(this).css('background-color', 'red');

提交事件绑定到表单本身。

此外,您不应该使用return false,而是将事件用作参数并调用event.preventDefault()

于 2013-02-05T17:20:56.930 回答
0

您必须使用parents()而不是parent().

从此处的文档中提取:

.parents() 和 .parent() 方法是相似的,只是后者只在 DOM 树上向上移动一层。

于 2013-02-05T17:19:25.277 回答