jQuery:获取未定义类型的所有文本输入

时间:2012-10-12 20:49:15

标签: jquery jquery-selectors

当我使用$("input[type=text]")时,我绝对意味着所有文本框,但它只返回已为其设置类型的输入。

例如:

<input name="text1" />
<input name="text2' type="text"/>

text1不包括在内。

如何设置或不设置所有文本输入?

5 个答案:

答案 0 :(得分:5)

选择type = text的那些,以及没有type属性的那些。

$("input[type=text],input:not([type])")

答案 1 :(得分:3)

$('input:text')

From the official documentation:

  

从jQuery 1.5.2开始,:text选择没有的输入元素   指定的类型属性(在这种情况下暗示了type =“text”)。

答案 2 :(得分:2)

您可以使用filter方法:

$("input").filter(function(){
    return this.type === 'text'
})​

http://jsfiddle.net/hgzmQ/

答案 3 :(得分:0)

如果你输入的所有名字都包含'text'(否则你怎么理解它是一个文本框?),你可以试试。

$('input[name*="text"]');

答案 4 :(得分:0)

如果你没有设置类型,那么[type =“text”]将排除没有类型的那些。

如果选择$('input'),无论类型如何,您都将获得所有输入,因此可以是文本字段。但它仍然适用于每个输入字段。

如果您没有设置类型,它将不会显示为type = text,但它将如此呈现。这意味着你不能选择JUST [type =“text”],但你总是可以排除其他人,但如下所示:

$('input[type=text]','input:not([type])')

不确定这是否有帮助。