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


当前回答

在javascript中:

document.getElementById("myDIV").style.display = "none";

在jquery中:

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

你可以用:

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

其他回答

(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)。使用内联,同时简单地为元素分配一列要做的事情

$('#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,则在block和none之间动态切换

某些元素显示为内联、内联块或表,这取决于标签名称

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

用这个:

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

Or:

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

如果您想隐藏和显示一个元素,这取决于它是否已经可见,您可以使用 切换,而不是。hide()和。show()

$('elem').toggle();

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