在继续进行特定流程之前,我有一个需要填写的文本区域.
对于普通文本框,我可以通过在选择字符串中添加属性选择器[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”).