我如何改变CSS显示无或块属性使用jQuery?


当前回答

(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);

其他回答

用这个:

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

Or:

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

使用jQuery CSS方法的其他方法:

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

在我的例子中,我根据输入元素是否为空来显示/隐藏表单的元素,因此在隐藏元素时,隐藏元素后面的元素被重新定位,占用了它的空间,因此有必要做一个float:这样的元素的元素的左侧。即使使用插件作为依赖,也必须使用float。

$ (" # id ") . css(“显示”,“没有一个”);

setTimeout (() = > { $ (" # id ") . css(“显示”,“没有一个”); },2000) $ (" # id2) . css(“显示”,“没有一个”); < script src = " https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js " > < /脚本> <div id='id'>Hello World!< / div > <div id='id2'>Hello World 2!< / div >

如果默认情况下div的显示是阻塞的,您可以使用.show()和.hide(),或者更简单的.toggle()来在可见性之间切换。