Создание тега кнопки и вывод
<div id="menu"> <input type="text"><br> <input type="button" onclick="NewTeg()" value="Добавить кнопку"> </div> По нажатии на кнопку создает новый тег инпут и добавляет в конец(перед закрывающим тегом DIV) function NewTeg() { var Div=document.getElementById('menu'); //Можно тупо так(наверно),но хотелось бы через объекты создать тег(если есть такой способ) button='<input type="button" id="NewButton" value="Новая кнопка">'; //И вот вся проблема тут - Как ее добавить в конец дива? Div.NewButton=button; } Можно конечно через InnerHTML, но это весь код придется обрабатывать... |
vitorrio,
function NewTeg() { var div=document.getElementById('menu'); var button=document.createElement("input"); button.setAttribute("type", "button"); button.setAttribute("id", "NewButton"); button.setAttribute("value", "Новая кнопка"); /*можно сделать и так button.type = "button"; button.id = "NewButton"; button.value = "Новая кнопка"; */ div.appendChild(button); } |
А почему нельзя изменить функцию onclick у кнопки таким способом?
function vers_dlya_pechati() { var ButPechat=document.getElementById('pechat'); //Это значение меняет ButPechat.value='Вернуться назад'; alert(ButPechat.onclick); //а Это нет - почему? ButPechat.onclick='vers_dlya_prosmotra()'; //таким образом все-таки сменило ButPechat.setAttribute("onclick", "vers_dlya_prosmotra()"); } |
vitorrio,
//а Это нет - почему? //ButPechat.onclick='vers_dlya_prosmotra()'; ButPechat.onclick = vers_dlya_prosmotra; //или ButPechat.onclick = function () { vers_dlya_prosmotra() }; |
lord2kim,
Странно, но чет не работает ни первый ни второй вариант, тупо все остается по старому, а setAttribute без проблем работает. Вопрос еще один: Если у таблицы есть caption то к ней я могу обратиться таким образом: //тут table - это не caption это сама таблица var table=document.getElementById('table'); //Т.е. тут я обращаюсь как к вложенному элементу table.caption.innerHTML='Текст'; Почему же я не могу обратиться к вложенному элементу input в блоке дива в примере который я написал в первом посте ? : var Div=document.getElementById('menu'); //вместо input и id пробовал писать - просто не выводит окно alert(Div.input.value) |
Еще вопрос про уничтожение элементов. Вот так нормально уничтожается:
var Div=document.getElementById('menu') document.body.removeChild(Div); А если я хочу уничтожить только кнопку добавляя ему id Например ? Пробовал по разному нифига не выходит, если эту кнопку выносить за переделы дива то работает, а если внутри то нет, проблема вот тут : document.body.Сюда что писать?.removeChild(button) |
|
Цитата:
получить эти ссылки можно разными путями: по id, через children и т.п. (см.ccылку) |
Цитата:
getElementById("id input-a"), getElementsByTagName("input")[№ input-a в div-e с 0-ля], div.(имя input-a).value Цитата:
document.getElementById("menu").removeChild(button); |
<div id="menu"> <input type="text"><br> <input name="butt" type="button" onclick="NewTeg()" value="Добавить кнопку"> </div> <script type="text/javascript"> function NewTeg(){ var Div=document.getElementById('menu'); var button_2=Div.getElementsByTagName('input')[1]; alert("button_2.value=>"+button_2.value) Div.removeChild(button_2) } </script> |
Часовой пояс GMT +3, время: 03:06. |