Jquery 选择值为“”的空白文本区域选择器

Jquery 选择值为“”的空白文本区域选择器,jquery,Jquery,我有一个文本区域,需要在继续执行特定流程之前填写 对于正常文本框,我可以通过添加属性选择器[value = ]来选择所有空白输入。 当我对文本区域执行此操作时,它不起作用 如果我在IE中,而不是在严格模式下,它确实工作,但我不是我想做的事情 如果我首先选择所有文本区域,然后使用[value=]作为选择器执行筛选调用,则它会起作用 这是故意的吗?从文本区域实际上没有value属性的观点来看,这是有道理的,但我猜过滤器调用将不起作用 下面是一个示例代码: <!DOCTYPE HTML PUBL

我有一个文本区域,需要在继续执行特定流程之前填写

对于正常文本框,我可以通过添加属性选择器[value = ]来选择所有空白输入。 当我对文本区域执行此操作时,它不起作用

如果我在IE中,而不是在严格模式下,它确实工作,但我不是我想做的事情

如果我首先选择所有文本区域,然后使用[value=]作为选择器执行筛选调用,则它会起作用

这是故意的吗?从文本区域实际上没有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

更新以显示它如何与jQuery OP的问题、vanilla JS和CSS一起工作

document.querySelector'textarea:empty'.style.width=300px $textarea:empty.cssbackground,蓝色 文本区域:空{ 边框:3倍纯红; }
foo您是否尝试使用$textarea:not:empty?我用它来获取not empty textarea,但结果总是空的,即使textarea已经填充。@Praditha,$textarea怎么样。not:empty?我还没有试过,但我发现这个函数有时比选择器更可靠。这个解决方案不适用于textarea!从文档::empty选择器匹配每个没有子元素(包括文本节点)的元素。我是通过使用找到它的。过滤器是我的最佳选择: