#javascript #jquery #html
#javascript #jquery #HTML
Вопрос:
У меня на странице большое количество разделов. Каждый из них является контейнером для неупорядоченного списка. Над каждым DIV находится текст заголовка, который состоит из элемента с привязкой.
например
<h2><a id="header1" href="#" > Header 1 </a></h3>
<div id="container1">
<ul>
<li>Item 1</li>
<li>Item 2</li>
<li>Item 3</li>
</ul>
</div>
<h2><a id="header2" href="#" > Header 2 </a></h3>
<div <div id="container2">>
<ul>
<li>Item 1</li>
<li>Item 2</li>
<li>Item 3</li>
</ul>
</div>
Мне нужно, чтобы все эти разделы были скрыты до тех пор, пока не будет нажат заголовок (привязка). Если пользователь нажимает заголовок, он должен переключать отображение / скрытие DIV
Как я могу выполнить это в JQUERY таким образом, чтобы у меня была одна функция onClick для всех DIVS, возможно, используя id для различения divs?
<h2><a href="#" onclick="toggleDiv(container1)"> Header 1 </a></h3>
function toggleDiv(id) {
}
но в JQUERY?
РЕШЕНО!!!!
<script>
$(function(){
$('.toggle-link').on('click', function() {
var linkId = $(this).attr('data-div-id');
$('#' linkId).toggle();
});
});
</script>
<h2><a href="#" class="toggle-link" data-div-id="div1"> Header 1 </a></h2>
<div id="div1">
<ul>
<li>Item 1</li>
<li>Item 2</li>
<li>Item 3</li>
</ul>
</div>
<h2><a href="#" class="toggle-link" data-div-id="div2"> Header 2 </a></h2>
<div id="div2">
<ul>
<li>Item 1</li>
<li>Item 2</li>
<li>Item 3</li>
</ul>
</div>
Ответ №1:
Вы можете использовать .toggle()
в jQuery
метод toggle() переключает между hide () и show() для выбранных элементов.
function toggleDiv(id) {
$('#' id).toggle();
}
где id — это параметр, который вы передаете
Комментарии:
1. спасибо, я наконец-то разобрался. Я обновляю свой приведенный выше код, чтобы отразить
2. @JakeSays отлично. Рад помочь