Проверить наличие элемента на странице
Подскажите чет не соображу. Как мне определить есть ли элемент с определенным id на странице. По идее думал что
document.getElementById(id)выдаст false если нет элемента и true если есть но что то не работает |
Выдаст null, если элемента нет, и сам элемент -- если он есть.
|
Так будет легче проверять, по сути тоже самое что сказал Kolyaj:
<script type="text/javascript"> var element=document.getElementById('logo'); if(!element){alert('меня нет на странице');} else {alert('я присутствую');} </script> |
Наверное пытаетесь найти элемент который еще не загрузился!
<script> alert(document.getElementById('s')); //null </script> <div id="s"></div> |
Спасибо Kolyaj,
Vulkan, HelpeR, в принципе я обощел это место но учту на будующее, теперь не получается вот что function Add_Minsumm_Popoln(id){ // функция добавляет или удаляет поля для внесения сумм минимального пополнения вклада var id_table = document.getElementById('adm_dep_main_table') var befor_tr = document.getElementById('deduct') //проверяем валюты if(document.getElementById(id).value == 'Да'){ if(document.getElementById('rur').checked){ var new_tr = document.createElement('TR') new_tr.id = 'min_pop_rur' id_table.insertBefore(new_tr,befor_tr) new_tr.innerHTML = '<td>Минимальная сумма пополнения валюта Рубль РФ </td> \ <td><input type="text" name="form[value4]" /></td>' } Это кусок функции которая срабатывает по onchange , на мой взгляд должно работать но Firebug выдает вот такое сообщение Node was not found" code: "8 [Break on this error] id_table.insertBefore(new_tr,befor_tr) Хоть это уже будет другая тема подскажите где ошибка. |
можно вместо id_table.insertBefore(new_tr,befor_tr) вставить
if(id_table) { id_table.insertRow(0); id_table.rows[0].insertCell(0).innerHTML = 'Минимальная сумма пополнения валюта Рубль РФ'; id_table.rows[0].insertCell(1).innerHTML = '<input type="text" name="form[value4]" />'; } |
HelpeR,
Мне ж надо в конкретное место вставить. Интересно что table_id.appendChild(new_tr)работает и нормально вставляет в конец таблицы |
if(id_table) { id_table.insertRow(0); // если 0 то вы вставите как первый tr, 1 как второй и тд id_table.rows[/*сюда эту же цифру*/].insertCell(0).innerHTML = 'Минимальная сумма пополнения валюта Рубль РФ'; id_table.rows[/*сюда эту же цифру*/].insertCell(1).innerHTML = '<input type="text" name="form[value4]" />'; } |
HelpeR,
Ну да понятно, спасибо тут вроде можно вычислить номер tr попоробую переделать, все таки странно что insertBefore не работает |
да почему то insertBefore не работает для таблиц и приходится использовать только insertRow
|
Часовой пояс GMT +3, время: 13:43. |