jQuery .hide() 元素不工作

jQuery .hide() element not working

我正在尝试用 jQuery 做一个简单的 .hide(),但由于某种原因它不起作用。我用 jsfiddle (http://jsfiddle.net/j0a2zbyb/1/) 试过了,但没有成功。任何帮助将不胜感激。

HTML代码

    <script>
        $(document).ready(function(e){
            e.preventDefault();
            $(".error").hide();

        });
    </script>

CSS代码

.error{
width: 300px;
height: auto;
background-color: #FF6C6C;
border: solid 2px #000;
}

不阻止默认:

    $(document).ready(function(e){

        $(".error").hide();

    });

我觉得你想多了。尝试:

<script>
    $(document).ready(function(){
        $(".error").hide();
    });
</script>

$(document).ready(function(){
$(".error").hide();
});
.error{
width: 300px;
height: auto;
background-color: #FF6C6C;
border: solid 2px #000;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>

<div class="error"> error</div>
<div class="noerror"> noerror</div>

ready event handler is not called with an event object like other event handlers. It's called with a reference to the jQuery object (intended to be used when the noConflict method已被使用。

当您尝试对传递给函数的值调用 preventDefault 时,您会收到错误消息,因为该对象中没有这样的方法。

如果您避免 preventDefault 调用,它工作正常:

$(document).ready(function(){
  $(".error").hide();
});

旁注:在 ready 事件中使用 hide 的替代方法是在 CSS 中使用 display:none;。这样就不会有元素在页面加载时短时间可见的风险,因为 CSS 确保它在创建后立即不可见。