2014-04-21 84 views
-4

$(:text)$(input[type="text"])jquery選擇器是否有區別。

+2

https://api.jquery.com/text-selector/ –

+5

你爲什麼不閱讀文檔? – undefined

+0

也許你可以在這裏找到你的答案。 https://api.jquery.com/text-selector/ –

回答

3

在jQuery 1.5.2的,:文本選擇具有沒有指定類型的屬性(在這種情況下類型=「文本」是隱含的)的輸入元件。

這種差異在$之間的行爲( 「:文本」)和$( 「[類型=文本]」),可在下面看到:

$("<input>").is("[type=text]"); // false 
$("<input>").is(":text"); // true 

附加註釋:

因爲:文本是jQuery擴展,不屬於CSS規範的一部分,使用text的查詢無法利用本機DOM querySelectorAll()方法提供的性能提升。爲了在現代瀏覽器中獲得更好的性能,請使用[type =「text」]。 https://api.jquery.com/text-selector/

0

從jQuery api

$( 「:文本」)等同於$( 「*:文本」)。

所以等效的$('input[type="text"]')$("input:text")

+1

「所以相當於$('input [type =」text「]')是$(」input:text「)」 - 不,它不是。當您提供文檔的鏈接時,您應該熟悉其內容。 – zeroflagL

0

$(input[type="text"])將選擇具有指定

$(:text)類型的所有輸入標記將選擇具有類型指定或沒有定義

<input type="text" name="text1" value="abc" />

<input name="text2" value="xyz" />

中的所有輸入標籤

$(input[type="text"])只會選擇第一個輸入標籤

$(:text)將選擇兩個輸入產品關鍵詞

檢查js fiddle demo

相關問題