我需要知道DOM中是否有SELECT元素可见。到目前为止,我一直在使用document.getElementById('xx')。offsetParent!== null来检查它,到目前为止它对我来说还不错。
但是,由于我将HTML代码迁移到Materialisecss,因此我的可见性检查功能不再起作用。
这段代码完全适用于纯HTML
<div class='input-field col s12'>
<select name='V18' id='V18' />
<option value='' disabled selected>Select</option>
<option id='V18_1' value='1'>Choice 1</option>
<option id='V18_2' value='2'>Choice 2</option>
<option id='V18_3' value='3'>Choice 3</option>
</select>
</div>
<script>
if
(document.getElementById('V18').offsetParent!==null){
alert('Select is visible');
}else{
alert('Select is NOT visible');
}
</script>
但是一旦我在Materialise css中初始化Selects,通过调用函数$('select')。material_select(),我的visibilty检查功能不再起作用了。
我的问题是......如何在Materialise Framework中检查SELECT元素是否可见?似乎在初始化选择之后,它们会以某种方式丢失一些关键的Javascript属性。
我已经测试了在这些链接上讨论的所有选项,但没有一个适用于Materialize选择:
答案 0 :(得分:0)
我找到的解决方案是以与辐射按钮和文本不同的方式处理选择,
对于选择我通过使用以下方法检测可见性:window.getComputedStyle(element))。display ===&#39; none&#39;
对于其他类型的元素,我使用以下方法检测可见性:&#34; document.getElementById(element).offsetParent!== null&#34;