2012-09-10 62 views
1

在過去下面的工作完美:

$(this + ":submit").live('click', function (e) { 

}); 

,但我只是使用JQuery 1.8.1開始,我獲得以下誤差選擇$(this + ":submit")

Error: Syntax error, unrecognized expression: [object Object]:submit 

「這」是對形式$('form1')的ID和結果選擇一個jQuery在[ form#form1 ]

有什麼能替代語法,工程無線Jquery 1.8.1和以前版本的Jquery?

+0

這取決於「this」是指什麼。您需要顯示更大的上下文。 – JJJ

+4

這從來沒有工作 – Esailija

+0

@Esailija那麼,理論上'this'可以指一個對象有一個'.toString()'方法返回一個有效的選擇器... – JJJ

回答

1

您必須提供this作爲上下文

$(":submit", this) 

這相當於

$(this).find(":submit") 

我會提出後者,因爲它使事情更具可讀性。


UPDATE:只是爲了澄清,我編輯在@ Esailija的評論 -

這從來沒有工作! - 即$(this +「:submit」)

0

要麼this是一個提交按鈕,你只需要調用$(this),或者您的提交按鈕是在this DOM樹的地方,你應該使用$(this).find(":submit")