Убрать display = "none"
Имеется штук 50 таких спойлеров
<div class="spoiler"> <input onclick="showSpoiler(this);" value="Название кнопки" type="button" id="button" /> <div class="inner" style="display: none;"> скрытый текст </div> </div>
function showSpoiler(obj) {var inner = obj.parentNode.getElementsByTagName("div")[0]; if (inner.style.display == "none") inner.style.display = ""; else inner.style.display = "none"; }
А теперь вопрос, нужно сделать кнопку, по которой будут открываться все div, т.е. убираться display: none |
SLameN,
сделать цикл который обходит все div |
Ультимативно:
<div class="inner" style="display: none;">
скрытый текст
</div>
<input type="button" onclick="
document.body.appendChild(document.createElement('style')).innerHTML = '.inner{display:block !important}';
" value="show all"/>
:) |
Спасибо, работает, только если я потом начинаю скрывать блоки ненужные, они не скрываются...
Можно ли не добавлять к class="inner" display:block, а в этом диве делать style.display = "". Чтобы потом можно было скрыть или опять открыть |
SLameN,
:write:
<!DOCTYPE HTML>
<html>
<head>
<title>Untitled</title>
<meta charset="utf-8">
<style type="text/css">
.inner{
display: none;
}
.show .inner{
display: block;
}
</style>
</head>
<body>
<input type="button" onclick="document.body.classList.toggle('show')" value="show/hide all"/>
<div class="inner" >
скрытый текст
</div>
<div class="inner" >
скрытый текст
</div>
<div class="inner" >
скрытый текст
</div>
</body>
</html>
|
Большое спасибо!
|
| Часовой пояс GMT +3, время: 00:43. |