2012-02-29 92 views
2

我想用jQuery隐藏div ...通过jQuery隐藏div

但我很困惑,最好的方法是什么?

  1. 我可以通过改变它的CSS显示属性来隐藏div。

    $("#header-link1").click(function(){ 
        $("#header2").css({ 
        'display': 'none' 
        }); 
    } 
    

    ,或者

  2. 我能做到与jQuery的hide()函数同样的事情。

    $("#header-link1").click(function(){ 
        $("#header2").hide(); 
    } 
    

任何建议什么是最好的办法,为什么?

+1

也不是 “更好”,他们只是不同的。 – Quentin 2012-02-29 07:24:14

+0

@Quentin不,他们是一样的。 – skyronic 2012-02-29 07:26:39

+0

但有人告诉我,css执行速度更快......这是真的吗? – ShazZ 2012-02-29 07:27:17

回答

6

您应该使用方法2,因为如果你想再次show()它,它就会采取display设置为正确的值,对于块元素意味着inline为内联元素和block的护理,而如果使用方法1你将不得不为自己选择什么是正确的display即使通常它是block

+0

+1 - 我以前见过这种情况。这很混乱。 – jmort253 2012-02-29 07:26:34

0

如果您查看.hide()(​​)的jQuery API,您会注意到.hide()将css display属性用作其隐藏页面元素的方法。因此,他们提供完全相同的目的,但其中一个只是更清洁。

我个人会使用$(“#div”)。hide(),因为它更干净并且使代码更短。

0

试试这个脚本

<script type="text/javascript"> 
$(document).ready(function(){ 
    $("#header-link1").click(function(){ 
    $("#header2").hide(); 
    }); 
}); 
</script>