如何在函数运行之前隐藏CSS?

时间:2012-08-08 13:38:01

标签: javascript jquery css mootools

我有一个基本功能,当没有点击答案时,它会显示错误信息 div id“错误”。这工作正常,但当我有一个背景颜色,图像显示div上的样式。我正在使用jquery和moo工具,

在设置答案之前,有没有办法隐藏此样式。

    <style type="text/css>

    #error {

      border: 1px solid;
      margin: 10px 0px;
      padding:15px 10px 15px 50px;
      background-repeat: no-repeat;
      background-position: 10px center;
      color: #D8000C;
      background-color: #FFBABA;
      background-image: url('../images/error.png');

    }
    </style>

    <div id="error"></div>

    <script type="text/javascript>
    function showAnswerAlert() {
        $('error').set('html', '<strong>Please select an answer above.<strong>')


    }
    function clearErrorBox() {
        $('error').set('html','');


    }
    </script>

3 个答案:

答案 0 :(得分:3)

最初隐藏div并在showAnswerAlert或您需要的地方显示

<div id="error" style="display:none"></div>

function showAnswerAlert() {
    $('error').set('html', '<strong>Please select an answer above.<strong>');
    $('error').show();
}

或隐藏文档准备好的错误div

$(function(){
    $('error').hide();
}); 

答案 1 :(得分:1)

hide()和show()不起作用的原因是因为那些aQuery jQuery函数,如果你正在使用mootools,并且想使用“hide()”和“show()”你需要编写函数像这样:

window.addEvent('domready', function() {
    Element.implement({
  //implement show
    show: function() {
      this.setStyle('display','');
    },
    hide: function() {
      this.setStyle('display','none');
    }
  });
});

或者您可以这样做以显示:

$('error').setStyle('display','block');

这就是隐藏:

$('error').setStyle('display','none');

答案 2 :(得分:0)

听起来这是对选择项目的验证。 验证可以通过多种方式完成,建议您查看HTML5值,这可能就是您所需要的:

http://diveintohtml5.info/forms.html