addClass和removeClass在IE8中不起作用

时间:2013-10-11 12:49:15

标签: jquery css

我正在尝试验证表单中所有必需的类,然后显示错误消息。因为addClass和removeClass在IE8中不起作用。任何帮助表示赞赏。 以下是代码

$('#submit_form .required').filter(':visible').each(function () {
    //$(this).next('div.error_text').remove();//Not working in IE8
    //$(this).removeClass('required');//Not working in IE8
    $(this).after('<div class="error_text">Required</div>').remove();
    if (!$(this).val()) {
        //input.addClass('required');//Not working in IE8
        $(this).css("border","1px solid #FF0004");
        $(this).after('<div class="error_text">Required</div>');
        returnVal = false;
    }
    else{
        returnVal = true;
    }
});

此处如果字段未填充,则会在字段周围创建一个红色框并显示消息。因此,如果用户提交表单2或3次,则会多次显示该消息。所以我想首先删除该消息,然后检查该字段是否为空并相应地添加所需。我试图使用addClass和removeClass,它不起作用。我从1天起就在努力奋斗。有人可以帮我解决这个问题......

1 个答案:

答案 0 :(得分:0)

此代码在IE8上运行正常,您必须向我们提供有关您要执行的操作的更多数据。

为什么要尝试删除该类只是为了之后添加它?如果值为空,为什么不删除它? 你的jquery版本是什么?

我做了一个小测试,在IE8上运行得很好:

<!DOCTYPE html>
<html><head>
  <meta http-equiv="content-type" content="text/html; charset=UTF-8">
  <script type="text/javascript" src="http://code.jquery.com/jquery-git.js"></script>
  <style type="text/css">
    .required {border:red solid 1px}
  </style>



<script type="text/javascript">//<![CDATA[ 
$(window).load(function(){
$('#submit_form .required').filter(':visible').each(function () {
    var $this = $(this);
    $this.next('div.error_text').remove();//Not working in IE8
if (!$this.val()) {
    $this.after('<div class="error_text">Required</div>');
    returnVal = false;
}
else{
    $this.removeClass('required');//Not working in IE8
     returnVal = true;
}
});
});//]]>  

</script>


</head>
<body>
  <form id="submit_form">
    <input type="text" class="required" value="a">

    <br>
    <input type="text" class="required" value="">
    <br>
    <input type="text" class="required" value="">
    <br>
    <input type="text" class="required" value="">
    <br>
    <input type="text" class="required" value="">
    <br>
    <input type="text" class="required" value="">
    <br>
</form>
</body></html>