Javascript 如何判断Select元素在DOM中是否可见?(在ECSS框架中)

Javascript 如何判断Select元素在DOM中是否可见?(在ECSS框架中),javascript,materialize,Javascript,Materialize,我需要知道SELECT元素在DOM中是否可见。到目前为止,我一直在使用document.getElementById('xx').offsetParent==null来检查,到目前为止,它对我来说运行良好 然而,由于我将HTML代码迁移到了Materializecss,所以我的可视性检查功能不再起作用 这段代码在纯HTML中可以完美地工作 <div class='input-field col s12'> <select name='V18' id=

我需要知道SELECT元素在DOM中是否可见。到目前为止,我一直在使用document.getElementById('xx').offsetParent==null来检查,到目前为止,它对我来说运行良好

然而,由于我将HTML代码迁移到了Materializecss,所以我的可视性检查功能不再起作用

这段代码在纯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>

选择
选择1
选择2
选择3
如果
(document.getElementById('V18').offsetParent!==null){
警报(“选择可见”);
}否则{
警报(“选择不可见”);
}
但是一旦我在MaterializeCSS中初始化了select,通过调用函数$('select').material_select(),我的Visibility checking函数就不再工作了

我的问题是…如何检查SELECT元素在Materialize框架中是否可见?似乎在初始化select之后,它们以某种方式丢失了一些关键的Javascript属性

我已经测试了这些链接上讨论的所有选项,但没有一个适用于Materialize Select:


我找到的解决方案是以不同于Radio N按钮和文本的方式处理选择

对于选择,我使用以下方法检测可见性:window.getComputedStyle(element)).display=='none'


对于其余类型的元素,我使用“document.getElementById(element).offsetParent!==null”检测可见性。

将告诉您元素是否可见。框架不会改变底层技术的工作方式。投票结束。可能重复的否否,这不是重复的问题。我的问题是专门针对物化CSS的。在纯HTML上运行的所有方法似乎都不能在物化选择上运行。。