Сделайте тег div переключателем между двумя классами css [дубликат]
На этот вопрос уже есть ответ здесь:
- измените класс элемента с помощью JavaScript 25 ответов
Что я хочу сделать, так это изменить класс тега div с помощью кнопки переключения с помощью javascript. Так что, когда я нажимаю кнопку один раз, тег div получает класс show, а когда я нажимаю ту же кнопку снова, он получает класс hide. Это возможно?
Html:
<a id="togglebutton">Show/hide</a>
<div class="show">
I want this div to toggle between the 'show' class and the 'hide' class
</div>
Css:
.show {
display: block;
}
.hide {
display: none;
}
Js:
function toggle(){
var hide = document.querySelector(".hide");
var show = document.querySelector(".show");
}
var hidebutton = document.querySelector(".togglebutton");
hidebutton.onclick = toggle
Можно ли как-то использовать document.getElementById("MyId").className = "MyClass";
?
4 ответа:
Вы можете использовать
if(document.getElementById("MyId").className == "hide") document.getElementById("MyId").className = "show"; else document.getElementById("MyId").className = "hide";
Но сначала вам нужно дать идентификатор div.. Пожалуйста, найдите ниже рабочий пример: http://jsfiddle.net/HvmmY/
Если вы просто пытаетесь показать / скрыть элемент, вы можете использовать стиль.свойство отображения:
hidebutton.onclick = function(){ var div = document.getElementsByClassName('show').item(0); if(div.style.display == '') { div.style.display = 'none'; } else { div.style.display = 'block'; } }
Надеюсь, это поможет
Мне нравится использовать jquery для добавления / удаления классов
<div>
. Однако в вашей ситуации это может не сработать.Вы могли бы использовать jQuery на нем с
toggle
:
$('#box').click(function() {
$('#box2').toggleClass('show hide');
});Рабочий пример: http://jsfiddle.net/mFA5F/1/
Информацию о
toggle()
можно посмотреть здесь: http://api.jquery.com/toggle/
window.onload=function() { document.getElementById("togglebutton").onclick=function() { var show = this.innerHTML=="Show"; document.getElementById("toggleDiv").className=show?"show":"hide"; this.innerHTML=show?"Hide":"Show"; } }
Используя
<a href="#" id="togglebutton">Hide</a> <div id="toggleDiv" class="show"> I want this div to toggle between the 'show' class and the 'hide' class </div>