如何查看div
的可见度,如果div
为display:block;
,则隐藏该信息,如果div
为display:none;
,别管它?
if(codition){
$(".thanks").fadeIn('slow');
$(".thanks").html(json[0]);
$(".thanks").css('color','red');
}else{
//HERE I want to check if the thanks div is display:block,hide it other wise ignore it
$(".errordiv").css('color','green');
$(".errordiv").fadeIn('slow');
}
答案 0 :(得分:2)
您可以使用:visible选择器吗?
if($('div').is(':visible')){
//execute
}
或者,我想您可以检查其CSS值:
if($('div').css('display')=='block'){
//execute
}
答案 1 :(得分:1)
它可能甚至不值得检查它是否已经可见,只需要调用hide。例如
$('.thanks').hide();
答案 2 :(得分:1)
您可以使用css方法
if ($(".errordiv").css('display') == 'block') {
//display is equal to block, use .hide();
}
另外,我想指出,如果你只有一个元素,最好用ID而不是类来引用它。这是一个微观优化,但它更清洁,更快。
答案 3 :(得分:1)
考虑一下:
var elem1, elem2;
elem1 = $( '.thanks' )[0];
elem2 = $( 'errordiv' )[0];
if ( codition ) {
$( elem1 ).html( json[0] ).addClass( 'class1' ).fadeIn( 'slow' );
} else {
if ( $( elem1 ).is( ':visible' ) ) { $( elem1 ).hide(); }
$( elem2 ).addClass( 'class2' ).fadeIn( 'slow' );
}
我的代码中有类"class1"
和"class2"
,但您当然会有更好的名称 - 将演示文稿添加到元素中。
让我解释一下......
所以,这个:
var elem = $( '#test' )[0];
相当于:
var elem = document.getElementById( 'test' );
我使用$( '#...' )[0]
表示法作为.getElementsById()
的简写。
答案 4 :(得分:0)
尝试this:
if ($('div.errordiv:visible').length) {
....
}
答案 5 :(得分:0)
我想你可以用toggle()来做这件事。
<div class='mixedDisplay' style='display: none;'>Hello</div>
<div class='mixedDisplay'>World</div>
$('.mixedDisplay').toggle();
http://jsfiddle.net/rlemon/Y8RwV/
我知道这并不是你想要的,但它可能有用。