Убрать 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,
<div class="spoiler"> <input onclick="showSpoiler(this)" value="Название кнопки" type="button" name="btn" /> <div class="inner" style="display: none;">скрытый текст</div> </div> <div class="spoiler"> <input onclick="showSpoiler(this)" value="Название кнопки" type="button" name="btn" /> <div class="inner" style="display: none;">скрытый текст</div> </div> <input onclick="showSpoilerAll()" value="Все" type="button" /> <script> function showSpoiler(obj) { var inner = obj.parentNode.getElementsByTagName("div")[0]; if (inner.style.display == "none") inner.style.display = ""; else inner.style.display = "none"; } function showSpoilerAll() { var btns = document.getElementsByName("btn"); for(var i = 0; i < btns.length; i++) btns[i].onclick(); } </script> |
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:02. |