在jQuery中检查是否设置了max-width?

时间:2014-06-09 11:07:34

标签: javascript jquery

我试图检查jQuery是否已经应用了内联样式。

通常情况下,我会这样做:

if ($(this).css('max-width') == '20%') {}

但是,我不知道百分比。检查是否应用了任何最大宽度的最佳方式是什么?

3 个答案:

答案 0 :(得分:5)

默认情况下,如果未定义.css('max-width'),则"none"将返回max-width,因此以下条件应该可以完成此任务:

if ($(this).css('max-width') !== 'none') { ... }

如果您需要检查仅内联样式,这意味着您覆盖原始max-width CSS属性(例如,从样式表文件中),您可以执行以下操作:

if (this.style.maxWidth !== '') { ... }

...如果未设置CSS属性,则maxWidth的纯style属性将为空""

答案 1 :(得分:2)

if ( $(this).css('max-width')!='none' ) { }

答案 2 :(得分:2)

如果在元素上未应用max-width属性,则它将返回none。 尝试检查none

$(this).css('max-width') =='none'

OR

if( $('#element').css('max-width') =='none' )  { 
 // max-width not EXISTS
} 
else
{
 // max-width EXISTS
}

仅检查inline style

if($('#element').attr('style') != 'undefined'){
 if( $('#element').attr('style').indexOf('max-width') == -1 )  { 
  // max-width not EXISTS
 } 
 else
 {
   // max-width EXISTS
 }
}
else
{
  // Inline style not EXISTS
}

OR

我建议使用Jquery选择器Attribute Contains Word Selector

$('div[style ~= "min-width:"]')

Working Fiddle