如何查找具有空值的所有文本字段?
$(":text[value='']")
给出了一个JavaScript错误
我知道我可以做$(":text")
,迭代并返回所有字段$(this).val()==''
我正在寻找一个更干净的方法并使用JQuery 1.3.1如果元素在页面加载时最初有一个值,然后用户清除它,它必须工作.($("#elem").attr('value')
给出那个地方的原始值,但.val()正常工作)
以下是我在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]
请注意,1.3和1.3.2正确处理它(尽管Firefox发送错误)但它们仍然使节点正确.
或者:您可以使用:text[value=]
符号,这似乎适用于我尝试过的任何地方.它只是有点怀疑这一切.
(忽略我之前的咆哮,他们都是笨蛋,没有美好的一天-_-)