jQuery检查元素是否具有特定的样式属性(显示)

时间:2014-07-05 23:16:50

标签: javascript jquery

我需要在函数中包含if / else语句。如何检查元素(例如#cadrage)是否具有显示样式属性?这是我在网上找到的,然而,它不起作用..

if( $('#cadrage').attr('style').display == 'block' ) {
      // do something
} else {
      // do something
}

5 个答案:

答案 0 :(得分:12)

jQuery .css()函数似乎就是你想要的。

if( $('#cadrage').css('display') == 'block' ) {
   console.log('It equal block');
} else {
   console.log('It did not equal block');
}

http://jsfiddle.net/SamMonk/FtP6W/

答案 1 :(得分:5)

您的代码不起作用,因为style属性只包含内联样式,而不是来自样式表的样式。

要获取计算样式,可以使用css方法:

$('#cadrage').css('display') == 'block'

答案 2 :(得分:2)

不完全是你要求的,但也许你正在寻找...

您可以使用:visible伪选择器检查元素是否可见:

if( $('#cadrage').is(':visible')) {
      // do something
} else {
      // do something
}

请注意,这实际上并不检查display样式,而是该元素的大小是否可以在页面中看到。

答案 3 :(得分:2)

试试这个:

if( $('#cadrage').css('display')== 'block' ) {
      // do something
} else {
      // do something
}

答案 4 :(得分:2)

您可以使用以下代码段

获取元素显示属性
$('#cadrage').css('display');

请注意,css方法可以返回元素的任何css属性,因此非常方便。 因此,您的语句代码将是:

if( $('#cadrage').css('display').display == 'block' ) {
      // do something
} else {
      // do something
}