Jquery - 如何获取样式显示属性"none/block"

Mur*_*dvi 77 jquery attributes coding-style

有没有办法获得样式:显示属性哪个没有或阻止?

DIV:

<div id="ctl00_MainContentAreaPlaceHolder_cellPhone_input_msg_container" class="Error cellphone" style="display: block;">

     <p class="cellphone" style="display: block;">Text</p>

</div>
Run Code Online (Sandbox Code Playgroud)

我知道有一种方法可以找出DIV是否隐藏但在我的情况下这个div是动态注入的,所以它总是显示为可见的假,因此我不能使用它:

$j('.Error .cellphone').is(':hidden')
Run Code Online (Sandbox Code Playgroud)

我可以使用以下方法获得结果"display:block":

$j('div.contextualError.ckgcellphone').attr('style')
Run Code Online (Sandbox Code Playgroud)

有没有办法获得"阻止"或"无"的值,还是有更好/更有效的方法来做到这一点?

gna*_*arf 118

你可以尝试:

$j('div.contextualError.ckgcellphone').css('display')
Run Code Online (Sandbox Code Playgroud)


rap*_*hie 72

如果你使用的是jquery 1.6.2,你只需要编码

$('#theid').css('display')
Run Code Online (Sandbox Code Playgroud)

例如:

if($('#theid').css('display') == 'none'){ 
   $('#theid').show('slow'); 
} else { 
   $('#theid').hide('slow'); 
}
Run Code Online (Sandbox Code Playgroud)


小智 32

这是正确的答案

$('#theid').css('display') == 'none'
Run Code Online (Sandbox Code Playgroud)

您还可以使用以下行来查找是否为显示块或无

$('.deal_details').is(':visible')
Run Code Online (Sandbox Code Playgroud)

  • 用.css("display")和.is(":visible")检查是不一样的.如果父元素具有"display:none",则它们将给出不同的结果.小心. (4认同)
  • 既然您正在尝试进行相等检查,那么您不应该使用'==='而不是'=='吗? (2认同)