在继续进行特定流程之前,我有一个需要填写的文本区域.
对于普通文本框,我可以通过在选择字符串中添加属性选择器[value =”]来检索所有空白输入.
当我使用文本区域执行此操作时,它不起作用.
如果我在IE中而不是在严格模式下它确实有效,但我不是我想做的事情.
如果我首先选择所有文本区域,然后使用[value =”]作为选择器执行过滤器调用,它确实有效.
这是设计的吗?从文本区域实际上没有值属性的角度来看,这是有道理的,但我猜测过滤器调用不起作用.
这是一个示例代码:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"> <HTML> <HEAD> <SCRIPT SRC="jquery-1.4.2.min.js"></SCRIPT> <SCRIPT> $(function () { var Rslt1 = $("textarea[value='']").size(); var Rslt2 = $("textarea").filter("[value='']").size(); alert(Rslt1 + ' ' + Rslt2); }) </SCRIPT> </HEAD> <BODY> <TEXTAREA></TEXTAREA> </BODY> </HTML>
在IE 8,Chrome 4和Firefox 3.6中,结果为0 1,如上所述.
解决方法
Textarea没有’value’属性.尝试$(“textarea:empty”).