Выполнить только один раз событие 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, время: 06:50. |