Javascript隐藏div中的每个元素,如果它';s的高度是0
如果元素的高度为0,我正在寻找一种方法来隐藏div中的每个元素(设置为display:none)(用类或id标记) 例如。隐藏elem1和elem4Javascript隐藏div中的每个元素,如果它';s的高度是0,javascript,show-hide,Javascript,Show Hide,如果元素的高度为0,我正在寻找一种方法来隐藏div中的每个元素(设置为display:none)(用类或id标记) 例如。隐藏elem1和elem4 <div class="container"> <ul id="elem1" style="height:0"> ... </ul> <ul id="elem2" style="height:50"> ... </ul> <ul id="elem3" styl
<div class="container">
<ul id="elem1" style="height:0"> ... </ul>
<ul id="elem2" style="height:50"> ... </ul>
<ul id="elem3" style="height:40"> ... </ul>
<ul id="elem4" style="height:0"> ... </ul>
<ul id="elem5" style="height:60"> ... </ul>
</div>
请帮助您可以这样做,使用
queryselectoral()
var x=document.queryselectoral(“ul[id*='elem']”)//选择ID包含“elem”的所有元素
对于(var i=0;i您可以这样做,使用querySelectorAll()
var x=document.querySelectorAll(“ul[id*='elem']”;//选择id包含'elem'的所有元素
对于(var i=0;i,此CSS块将有所帮助
.container ul {
overflow: hidden;
}
这个CSS块会有帮助
.container ul {
overflow: hidden;
}
试试这个尺码:
.container ul[style="height:0"] {
display: none;
}
演示:
无论后面是否有空格,以下操作都有效:
:
.container ul[style~="0"], .container ul[style="height:0"] {
display: none;
}
演示:试试这一款的尺寸:
.container ul[style="height:0"] {
display: none;
}
演示:
无论后面是否有空格,以下操作都有效:
:
.container ul[style~="0"], .container ul[style="height:0"] {
display: none;
}
演示:纯JS示例。使用类标记元素。这将起作用:
<div class="container">
<ul class='yourClass' id="elem1" style="height:0">.1..</ul>
<ul class='yourClass' id="elem2" style="height:50">.2..</ul>
<ul class='yourClass' id="elem3" style="height:40">.3..</ul>
<ul class='yourClass' id="elem4" style="height:0">.4..</ul>
<ul class='yourClass' id="elem5" style="height:60">.5..</ul>
</div>
.1..
.2..
.3..
.4..
.5..
JS脚本:
(function hideElements() {
var the_elements = document.getElementsByClassName('yourClass');
for (var i = 0; i < the_elements.length; ++i) {
var item = the_elements[i];
if (item.style.height === '0px') {
item.style.display = 'none';
}
}
})();
(函数隐藏元素(){
var the_elements=document.getElementsByClassName('yourClass');
对于(var i=0;i<_elements.length;++i){
var项目=_元素[i];
如果(item.style.height=='0px'){
item.style.display='none';
}
}
})();
请注意,检索到的值为“0px”。
JSIDLE工作示例:纯JS示例。使用类标记元素。这将起作用:
<div class="container">
<ul class='yourClass' id="elem1" style="height:0">.1..</ul>
<ul class='yourClass' id="elem2" style="height:50">.2..</ul>
<ul class='yourClass' id="elem3" style="height:40">.3..</ul>
<ul class='yourClass' id="elem4" style="height:0">.4..</ul>
<ul class='yourClass' id="elem5" style="height:60">.5..</ul>
</div>
.1..
.2..
.3..
.4..
.5..
JS脚本:
(function hideElements() {
var the_elements = document.getElementsByClassName('yourClass');
for (var i = 0; i < the_elements.length; ++i) {
var item = the_elements[i];
if (item.style.height === '0px') {
item.style.display = 'none';
}
}
})();
(函数隐藏元素(){
var the_elements=document.getElementsByClassName('yourClass');
对于(var i=0;i<_elements.length;++i){
var项目=_元素[i];
如果(item.style.height=='0px'){
item.style.display='none';
}
}
})();
请注意,检索到的值为“0px”。
jsIDLE工作示例:请阅读常见问题解答。您需要显示您至少尝试过。如果它的高度为0,那么肯定不会显示太多?我猜可能会有一些边框……请阅读常见问题解答。您需要显示您至少尝试过。如果它的高度为0,那么肯定不会显示太多?可能会有一些边框我猜RDES…把我的答案踢得一塌糊涂。+1这很酷,现在给样式->添加一个空格,看看发生了什么是的,adaneo是对的。“高度:0”改变了这一点。将使其崩溃。@adeneo CSS正在检查确切的字符串。因此任何不同的内容都会产生不同的结果。将我的答案踢出垃圾。+1这很酷,现在在样式->中添加一个空格,看看会发生什么是的,adaneo是对的。“高度:0”会改变这一点。将使其崩溃。@adeneo CSS正在检查确切的字符串。因此,任何不同的操作都会产生不同的结果。我认为您需要使用x[I]。style.height=='0px'我认为您需要使用x[I]。style.height=='0px'