Javascript 如何判断Select元素在DOM中是否可见?(在ECSS框架中)
我需要知道SELECT元素在DOM中是否可见。到目前为止,我一直在使用document.getElementById('xx').offsetParent==null来检查,到目前为止,它对我来说运行良好 然而,由于我将HTML代码迁移到了Materializecss,所以我的可视性检查功能不再起作用 这段代码在纯HTML中可以完美地工作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=
<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上运行的所有方法似乎都不能在物化选择上运行。。