2013-01-15 32 views
3

輸入和輸入在一些教程,我已經看到了這些選擇:區別:jQuery的

$(':input'); 

$('input'); 

注 ':'。

有什麼區別嗎?

+7

':input':_選擇所有輸入,textarea,選擇和按鈕元素._'input'選擇輸入元素。 – undefined

+3

您可以搜索jQuery文檔:http://api.jquery.com/?s=input。 –

回答

8

$('input') =只有元素名稱,只選擇HTML元素。

$(':input') =與結腸,選擇/過濾器的所有形式的輸入類型的元素,包括輸入選擇textarea的,和按鈕元件。

參考jQuery選擇信息:

http://api.jquery.com/category/selectors/

http://api.jquery.com/input-selector/

+2

您可能想要鏈接到文檔,並重復,如文檔所言:':input'是一個jQuery擴展,因此它應該用於*過濾*元素,而不是用作選擇器(以利用'querySelectorAll()')。 –

3

$('input')選擇所有input元件,諸如< 輸入類型= 「無線電」,< 輸入類型=」文本「,< 輸入 type =」checkbox「等。它會n不要選擇任何其他表單元素(例如<select...<button...元素)。

jQuery input-selector documentation *我們看到

:input選擇基本選擇所有表單控件。

所以$(':input')會得到< 輸入 ...以及< textarea的 ... < 選擇 ... < 按鈕 ...等

* - 同一頁面也注意到

因爲:input是一個jQuery extensio n,而不是CSS 規範的一部分,使用:input的查詢無法利用本機DOM querySelectorAll() 方法提供的性能提升 。要在使用以下選項時實現最佳性能:輸入以選擇 元素,請先使用純CSS選擇器選擇元素,然後使用.filter(「:input」)選擇 。