При рендеринге данных в HTML, который выводит div вниз по странице, для каждой строки, найденной в базе данных, я пытаюсь найти способ разрешить каждой кнопке, которая находится в каждом div чтобы переключить индивидуальный пример при нажатии (значение по умолчанию display:none
при загрузке страницы) - что-то типа:Переключить отдельные divs в цикле
function toggle_div(id) {
var divelement = document.getElementById(id);
if(divelement.style.display == 'none')
divelement.style.display = 'block';
else
divelement.style.display = 'none';
}
пример окончательной разметки:
<div>
<div class="wordtitle">Word</div>
<div class="numbers">1</div>
<div class="definition">Definition</div>
<button class="button" id="show_example" onClick="toggle_div('example')">Show example</button>
<div class="example" id="example">Example 1</div>
</div>
<div>
<div class="wordtitle">Word</div>
<div class="numbers">2</div>
<div class="definition">Definition</div>
<button class="button" id="show_example" onClick="toggle_div('example')">Show example</button>
<div class="example" id="example">Example 2</div>
</div>
getElementById()
только переключает первый Див-х пример, и getElementsByClass()
, похоже, пока не работает - не слишком уверен, как это сделать - любые идеи очень ценятся!
'id's должны быть уникальными, но у вас есть' $ i' число 'ID = "пример"'.Самый простой способ исправить это - добавить '$ i' в ваш' id '->' onClick = "toggle_div (\ 'example \' '. $ I.')" И 'id =" example '. $ I . '"' – Sean
Это * звучит * как (на стороне клиента) JavaScript/jQuery, а не (серверная) php; если это правильно, не могли бы вы заменить ваш php-скрипт образцом HTML, как видно браузером? PHP, когда работает JavaScript, не имеет значения (и просто скрывает информацию). –
Шон: Это здорово, приветствия - я сделал: onClick = "toggle_div (\ 'example'. $ I. '\')" - единственное, если я не использую встроенный стиль стиля = "display: none", кнопка принимает два клика для отображения div при первой загрузке страницы. – eris