JQuery:addClass不处理具有多个类的元素。为什么?我很困惑!

时间:2011-06-17 18:40:50

标签: jquery class element addclass

这非常令人沮丧。这是为表单编写的一些代码的一部分。与验证错误关联的输入元素应显示红色边框。它适用于 .css 方法,但如果有人能告诉我为什么 .addClass 方法无效,我将不胜感激。

<style type="text/css">
    .field_error{color:red;}
    .red_border{border:1px solid red;}
</style>

<script>
    $(document).ready(function(){
        $('.field_error').siblings().addClass('red_border');
    });
</script>
...
<label class="description" for="element_1">Email Address </label>
            <div>
            <input id="element_1" name="email" class="element text medium" type="text"/> 
                {% if form.email.errors %}
                    <div class="field_error">{{form.email.errors}}</div>

                {% endif %}
                     </div>

                      ..etc..

如果只为一个类分配“element_1”,它就可以了。

我也可以这样做:

$('.field_error').siblings().css("border", "1px solid red"); 

但是,我计划在我要添加的类中添加大量内容。 有没有办法让addClass方法起作用?

谢谢!

马特

重要编辑

我忘了在代码中添加多个类。难怪有些人感到困惑。请再次查看代码。

<input id="element_1" name="email" class="element text medium" type="text"/> 

解决

问题是我有css文件已经定义了文本输入元素的边框。现在修复了。感谢大脑和我一起存储的所有人。

1 个答案:

答案 0 :(得分:5)

适合我:http://jsfiddle.net/JAAulde/KPckC/1/根据您的多级校正更新

您的代码中确实存在拼写错误:

<input id="element_1" name="email" class="element type="text"/>

应该是

<input id="element_1" name="email" class="element" type="text"/>

也许您的直播网站中存在这种情况?