选择Jquery中的所有空文本字段

que*_*ner 7 jquery jquery-1.3

如何查找具有空值的所有文本字段?

$(":text[value='']")  
Run Code Online (Sandbox Code Playgroud)

给出了一个JavaScript错误

我知道我可以做$(":text"),迭代并返回所有字段$(this).val()==''

我正在寻找一个更干净的方法并使用JQuery 1.3.1如果元素在页面加载时最初有一个值,然后用户清除它,它必须工作.($("#elem").attr('value')给出那个地方的原始值,但.val()正常工作)

Ken*_*ric 11

最新答案:升级到1.3.2

以下是我在http://docs.jquery.com/Downloading_jQuery上通过FireBug运行的各种测试

使用特殊的greasemonkey脚本在页面加载时切换不同的jQuery版本.

>>> jQuery.prototype.jquery
"1.3.2"
>>> jQuery(":text[value='']")
[input#jq-primarySearch]
Unknown pseudo-class or pseudo-element 'text'.
>>> jQuery(":text[value=]").get()
[input#jq-primarySearch]

>>> jQuery.prototype.jquery
"1.3.1"
>>> jQuery(":text[value='']")
Syntax error, unrecognized expression: value='']
>>> jQuery(":text[value=]").get()
[input#jq-primarySearch]

>>> jQuery.prototype.jquery
"1.3"
>>> jQuery(":text[value='']");
Object length=1 prevObject=Object context=document
Unknown pseudo-class or pseudo-element 'text'.
[Break on this error] undefined
>>> jQuery(":text[value=]").get()
[input#jq-primarySearch]
Run Code Online (Sandbox Code Playgroud)

请注意,1.3和1.3.2正确处理它(尽管Firefox发送错误)但它们仍然使节点正确.

或者:您可以使用:text[value=]符号,这似乎适用于我尝试过的任何地方.它只是有点怀疑这一切.

(忽略我之前的咆哮,他们都是笨蛋,没有美好的一天-_-)