2013-07-04 61 views
-1

之間的區別對不起,但我對jQuery相當陌生。我想知道,這兩行之間有什麼區別?我掙扎着挺了一下,因爲找到解決方案做了頁面的回發...

$find("<%=PopupInputPanelOkCancel1.FocusId%>").focus(); 
$("#<%=PopupInputPanelOkCancel1.FocusId%>").focus(); 

我猜測,$ find返回一個HTML對象和$返回一個jQuery對象或類似的東西,但我看不出爲什麼第一個人會發起回傳...... 只有第二個版本確實把重點放在了這個領域。

+0

http://stackoverflow.com/questions/1849266/asp-net-ajax-find-jquery-equivalent –

回答

2

第一個是不是有效的jQuery;第二個有效的jQuery。

說明:

有效jQuery對象是通過包裹$()圍繞一個選擇器構成。 .focus()是jQuery對象的一種方法。因此,第二個聲明是有效的jQuery。

.find()也是jQuery對象的一種方法,所以像$('#id').find('.class').focus()這樣的東西是有效的jQuery,但是你的第一個語句在jQuery中是沒有意義的。

+0

我不同意100%與你有關的第一個陳述是毫無意義的。我使用下面的代碼來顯示一個AjaxControlToolkit.ModalPopupExtender。 'var modal = $ find(modalBehaviorId); (模態!=空){ \t modal.show(); }' Like @Brian Mains在引用的帖子中說([鏈接](http://stackoverflow.com/questions/1849266/asp-net-ajax-find-jquery-equivalent)):「微軟創建了$ find一種將他們的ASP.NET AJAX組件鏈接到DOM的方法。「 所以它是無效的jQuery,但它仍然是有效的代碼,如果你使用ASP.NET。 – Adrian

+0

謝謝你的解釋。我沒有意識到這一點,因爲我從來沒有使用過ASP.NET。我編輯了我的問題,以反映該語句在jQuery上下文中沒有意義。 –