Выполнить только один раз событие onClick.
Добрый день. Только начал изучать JS и не знаю что дальше делать. Подскажите пожалуйста куда копать :)
Вот код. <script language="JavaScript"> function opend(d, s, g) { var div = document.createElement("div"); div.id = g; div.style.height = '50px'; div.style.background = '#3B9D00'; div.style.border = '1px solid red'; div.innerHTML=s; document.getElementById(d).appendChild(div); } function dell(delD, rel) { var del = document.getElementById(rel); var parent = document.getElementById(delD); parent.removeChild(del); } </script> <center> <div id="myDIV1" style="width:500px; height:auto; border:1px solid #333;"> <a href="#" onclick="opend('myDIV1','ТЕКСТ -1', 'reload1')">Комментарий</a> <a href="#" onclick="dell('myDIV1', 'reload1')">Удалить</a> </div> <div id="myDIV2" style="width:500px; height:auto; border:1px solid #333;"> <a href="#" onclick="opend('myDIV2','ТЕКСТ -2', 'reload2')">Комментарий</a> <a href="#" onclick="dell('myDIV2', 'reload2')">Удалить</a> </div> </center> Как можно запретить повторное добавление div'a? А конечная цель, сделать так, что бы при нажатии Комментарий проверялась страница на уже открытую форму добавления Комментария и если такая форма открыта, то закрыть. Возможно ли удалить дочерний DIV не указывая родителя? как-то так: <script language="JavaScript"> function d() { var del = document.getElementById('reload'); removeChild(del); } </script> <div id="myDIV1"> <div id="reload">ТЕКСТ -1</div> </div> <a href="#" onclick="d()">Удалить</a> Может это тупиковый код, буду рад если объясните как будет лучше сделать. Хочу сделать скрипт обсуждение статьи (форум). |
Если только начал изучать, то откажись от устаревших много лет назад вещей типа language="JavaScript":)
Цитата:
del.parentNode.removeChild(del); |
<script> function toggle(element, text){ var div = element.getElementsByTagName('div')[0]; if(!div){ var newDiv = document.createElement("div"); newDiv.style.height = '50px'; newDiv.style.background = '#3B9D00'; newDiv.style.border = '1px solid red'; newDiv.innerHTML = text; element.appendChild(newDiv); }else{ div.parentNode.removeChild(div); } } </script> <center> <div style="width:500px; height:auto; border:1px solid #333;"> <a href="#" onclick="toggle(this.parentNode, 'ТЕКСТ - 1');">Добавить/удалить комментарий</a> </div> <div style="width:500px; height:auto; border:1px solid #333;"> <a href="#" onclick="toggle(this.parentNode, 'ТЕКСТ - 2');">Добавить/удалить комментарий</a> </div> </center> |
Sweet Спасибо за оперативный ответ.Только сегодня сел за JS. language="JavaScript Учту.
div.parentNode.removeChild(div);буду знать :) А можно если уже открыт div ТЕКСТ - 1, закрыть его после нажатия Добавить/удалить комментарий во втором DIVe? т.е где бы не нажал Добавить/удалить комментарий открывается только один ТЕКСТ, а второй если открыт, закрывается. Подойдет и теория :) Спасибо. |
Часовой пояс GMT +3, время: 14:10. |