Javascript jquery检查元素不是空的更改类

Javascript jquery检查元素不是空的更改类,javascript,jquery,Javascript,Jquery,当p.err不为空时,我想添加类p.err-wrapper <p class="err err-wrapper">not empty</p> <p class="err"></p> p.err {color:#ff0000, font-weight: bold; } p.err-wrapper {background:#ffffdd; border:1px solid #ff0000; } 不是空的 p、 错误{颜色:#ff0000,字体大

当p.err不为空时,我想添加类p.err-wrapper

<p class="err err-wrapper">not empty</p>
<p class="err"></p>


p.err {color:#ff0000, font-weight: bold; }
p.err-wrapper {background:#ffffdd; border:1px solid #ff0000; }

不是空的

p、 错误{颜色:#ff0000,字体大小:粗体;} p、 错误包装{background:#ffffdd;border:1px solid#ff0000;}
我正在使用的应用程序在如下表单上添加了一条错误消息

无论是否存在错误,都会将其添加到页面中。一旦出现错误

您的名字丢失

,p.err就会装饰
标记的内容

我想将错误包装在边框和背景中。问题是因为

不是有条件地添加的,当没有错误时,我得到一个带边框的背景

我想添加jquery,检查

是否为空,然后添加类p.err-wrapper,即


我在jquery工作了一段时间,但我是一个新手。

你可以使用
:not
:empty
选择器

$('p.err:not(:empty)').addClass('err-wrapper');

您可以使用
:not
:empty
选择器

$('p.err:not(:empty)').addClass('err-wrapper');

尝试使用:

$("p.err")
.filter(function(){return $(this).text().replace(/\s/g,"").length!=0})
.addClass("err-wrapper")​​​​​​​​;​​​​​​
作为筛选器传递的函数将修剪内容中的任何空白

您可以在此处使用工作演示:

尝试使用:

$("p.err")
.filter(function(){return $(this).text().replace(/\s/g,"").length!=0})
.addClass("err-wrapper")​​​​​​​​;​​​​​​
作为筛选器传递的函数将修剪内容中的任何空白


你可以在这里使用一个有效的演示:

我真的很难理解这个问题。我真的很难理解这个问题。我试过了,但是发生的情况是,当

为空时。err wrapper会产生一个2倍高的红色边框。基本上,无论标记是否为空,都会添加err包装器。它是2px高,因为边框是1px顶部和底部,并且标记中没有文本。我站在正确的位置,事实上,它在您的演示中工作得很好。起初我没有看到演示,我自己也在JSFIDLE上试过,但遇到了上面提到的问题。谢谢我试过了,但实际情况是,当

为空时,err包装器会生成2倍高的红色边框。基本上,无论标记是否为空,都会添加err包装器。它是2px高,因为边框是1px顶部和底部,并且标记中没有文本。我站在正确的位置,事实上,它在您的演示中工作得很好。起初我没有看到演示,我自己也在JSFIDLE上试过,但遇到了上面提到的问题。谢谢