Determine if CSS property is set to a certain value?

风格不统一 提交于 2019-12-03 04:08:26

问题


Just wondering how to determine a jQuery statement like this

if( $("#test").css('display', 'block') == true) {
   return true;
}

Basically, I want to be able to determine IF an element has is currently being shown or hidden via the "display:block" attribute ?


回答1:


Use

if( $("#test").css('display') == 'block') {

I'm fairly sure .css(), returning a calculated value, will always return a lower case result - the docs say nothing on this. To make totally sure, you could do a

if( $("#test").css('display').toLowerCase() == 'block') {

while you can rely on display giving reliable results, note that some CSS properties will not always show up the way they were defined. For example

a { color: red }

will turn out rgb(255,0,0); when queried using .css().




回答2:


You can use isvisible and is hidden also

if ( $('#test').is(':visible')){



回答3:


I think the only way to test this is by comparing with actual values:

function displayHidden(elem) {
    return $(elem).css('display') === 'hidden';
}


来源:https://stackoverflow.com/questions/5928920/determine-if-css-property-is-set-to-a-certain-value

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!