<ul>
<li></li> //display:block;
<li></li> //display:none;
</ul>
如何用原生js拿到当前显示的节点?谢谢
<ul>
<li></li> //display:block;
<li></li> //display:none;
</ul>
如何用原生js拿到当前显示的节点?谢谢
试试这个
var liArray = Array.from(document.getElementsByTagName('li'));
var displayLis = liArray.filter(function(li){
return li.style.display == 'block';
});
html:
<ul>
<li style="display:none" class="myLi">a</li>
<li style="display:block" class="myLi">b</li>
</ul>
JS:
var blockLi = document.getElementsByTagName("li");
for(var i = 0; i < blockLi.length; i++) {
if(blockLi[i].style.display == 'block') {
alert(blockLi[i].innerHTML)
}
}
var li= document.getElementsByTagName('li') // //得到一个数组
for(var n=0; n < li.length; n++){
if(li[n].style.display == 'none'){
//你的逻辑判断
}
}
13 回答12.8k 阅读
7 回答1.9k 阅读
3 回答1.1k 阅读✓ 已解决
2 回答1.2k 阅读✓ 已解决
6 回答867 阅读✓ 已解决
6 回答1k 阅读
2 回答1.3k 阅读✓ 已解决
非内联样式 style 属性是拿不到的,所以用 getComputedStyle
IE有兼容性问题,可以使用 currentStyle ,参考 http://stackoverflow.com/ques...