如何使用jQuery更改CSS不显示内容或阻止属性?


Answers:


923

正确的方法是使用showhide

$('#id').hide();
$('#id').show();

另一种方法是使用jQuery css方法:

$("#id").css("display", "none");
$("#id").css("display", "block");

@GenericTypeTea:#id用于ID如果要使用该class怎么办?
AabinGunz 2011年

26
$(".class").css("display", "none");
djdd87 2011年

8
我尝试使用$('#id').css('display', 'none');,但没有用。但是,使用$('#id').css('color', 'red');确实有效。我不确定为什么。有人有什么想法吗?提前致谢。
大卫

5
还应该在此答案中包含$('#id')。hide()和$(“#id”)。css(“ display”,“ none”)之间的差异。
ManirajSS 2014年

1
两者之间是有区别的,前一个函数仅隐藏文本,不会释放元素所占用的空间,而后一个函数会隐藏内容并释放cocern元素所占用的空间
Dila Gurung,

110

有多种方法可以实现此目的,每种方法都有其自己的预期目的。


1。)在简单地为一个元素分配要执行的事情列表的同时使用内联

$('#ele_id').css('display', 'block').animate(....
$('#ele_id').css('display', 'none').animate(....

2。)在设置多个CSS属性时使用

$('#ele_id').css({
    display: 'none'
    height: 100px,
    width: 100px
});
$('#ele_id').css({
    display: 'block'
    height: 100px,
    width: 100px
});

3。)动态调用命令

$('#ele_id').show();
$('#ele_id').hide();

4。)如果是div,则在块与无块之间动态切换

  • 一些元件被显示为内联,内联块,或表,取决于克N- AME

$('#ele_id')。toggle();


27

如果div的显示默认为阻止,则可以使用.show().hide(),甚至更简单.toggle()地在可见性之间切换。


没错,它将显示设置为最初的状态,可以是块状或其他形式。
danielgwood


6

使用jQuery CSS方法的另一种方法:

$("#id").css({display: "none"});
$("#id").css({display: "block"});

5

简单方法:

function displayChange(){
$(content_id).click(function(){
  $(elem_id).toggle();}

)}

一个解释将是有条理的。
彼得·莫滕森

2
(function($){
    $.fn.displayChange = function(fn){
        $this = $(this);
        var state = {};
        state.old = $this.css('display');
        var intervalID = setInterval(function(){
            if( $this.css('display') != state.old ){
                state.change = $this.css('display');
                fn(state);
                state.old = $this.css('display');
            }
        }, 100);        
    }

    $(function(){
        var tag = $('#content');
        tag.displayChange(function(obj){
            console.log(obj);
        });  
    })   
})(jQuery);

一个解释将是有条理的。
彼得·莫滕森


1

.hide()对我而言不适用于Chrome。

这适用于隐藏:

var pctDOM = jQuery("#vr-preview-progress-content")[0];
pctDOM.hidden = true;

0

在我的情况下,我根据输入元素是否为空来显示/隐藏表单的元素,以便在隐藏元素时,将隐藏元素之后的元素重新定位,以占据其空间,这需要进行浮点:这种元素的元素。即使使用插件作为dependsOn,也必须使用float。


0

用这个:

$("#id").(":display").val("block");

要么:

$("#id").(":display").val("none");

我有问题,它不是为我工作:(。<style> #choosepath { display: none; } </style> <script> $(document).ready(function () { $('#btn_journey').click(function () { alert("button click"); $('#choosepath').css({"display":"normal"}); }); }); </script> </head> <body> <a href="#" class="btn btn-primary btn-lg" id="btn_journey">Start your journey</a> <div class="col-lg-3 col-md-6 mb-4" id="choosepath"> </div> </body></html>
jaibalaji

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.