2012-06-01 264 views
0

可能重複:
What is the difference between $(「」, $(「#container1」)) and $(「#container2」).find(「」)?....有什麼區別?

是什麼

jQuery('.classname', this.frame)this.frame.find('.classname')之間的區別?

謝謝!

+1

它們是相同的。 –

+1

......它取決於'this.frame'是不是一個jQuery對象。 – Matt

+1

[閱讀文檔](http://api.jquery.com/jQuery/)也有幫助:*「在內部,選擇器上下文是用'.find()'方法實現的,所以'$('span',this )'相當於'$(this).find('span')'。「* –

回答

1

第二個示例將炸燬,因爲this.frame不是jQuery對象。除此之外,它們是等價的。

可能意味着$(this.frame).find('.classname')

+1

沒有什麼可說的,它不是一個jQuery對象。 –

+0

@JamesAllardice沒什麼好說的,它是一個jQuery對象。 ,P – meze

4

沒什麼,如果你看一下jQuery的源代碼,jQuery('.classname', this.frame)只是調用jQuery(this.frame).find('.classname')

See line 192

對於這個問題,你可以閱讀documentation其作爲費利克斯·王指出狀態:

在內部,選擇器上下文被執行w如果使用.find()方法,那麼$('span',this)等價於$(this).find('span')。