Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 01.10.2010, 11:05
Аватар для KonstantinK
Аспирант
Отправить личное сообщение для KonstantinK Посмотреть профиль Найти все сообщения от KonstantinK
 
Регистрация: 06.03.2010
Сообщений: 44

Проверить наличие элемента на странице
Подскажите чет не соображу. Как мне определить есть ли элемент с определенным id на странице. По идее думал что
document.getElementById(id)
выдаст false если нет элемента и true если есть но что то не работает
Ответить с цитированием
  #2 (permalink)  
Старый 01.10.2010, 11:26
Новичок на форуме
Отправить личное сообщение для Kolyaj Посмотреть профиль Найти все сообщения от Kolyaj
 
Регистрация: 19.02.2008
Сообщений: 9,177

Выдаст null, если элемента нет, и сам элемент -- если он есть.
Ответить с цитированием
  #3 (permalink)  
Старый 01.10.2010, 12:05
Аватар для Vulkan
Профессор
Отправить личное сообщение для Vulkan Посмотреть профиль Найти все сообщения от Vulkan
 
Регистрация: 25.05.2010
Сообщений: 511

Так будет легче проверять, по сути тоже самое что сказал Kolyaj:
<script type="text/javascript">
var element=document.getElementById('logo');
if(!element){alert('меня нет на странице');} else {alert('я присутствую');}
</script>
Ответить с цитированием
  #4 (permalink)  
Старый 01.10.2010, 12:17
Аватар для HelpeR
Профессор
Отправить личное сообщение для HelpeR Посмотреть профиль Найти все сообщения от HelpeR
 
Регистрация: 21.10.2008
Сообщений: 241

Наверное пытаетесь найти элемент который еще не загрузился!
<script>
alert(document.getElementById('s')); //null
</script>
<div id="s"></div>
Ответить с цитированием
  #5 (permalink)  
Старый 01.10.2010, 12:41
Аватар для KonstantinK
Аспирант
Отправить личное сообщение для KonstantinK Посмотреть профиль Найти все сообщения от KonstantinK
 
Регистрация: 06.03.2010
Сообщений: 44

Спасибо 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)
Хоть это уже будет другая тема подскажите где ошибка.
Ответить с цитированием
  #6 (permalink)  
Старый 01.10.2010, 12:48
Аватар для HelpeR
Профессор
Отправить личное сообщение для HelpeR Посмотреть профиль Найти все сообщения от HelpeR
 
Регистрация: 21.10.2008
Сообщений: 241

можно вместо 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, 01.10.2010 в 12:51.
Ответить с цитированием
  #7 (permalink)  
Старый 01.10.2010, 13:03
Аватар для KonstantinK
Аспирант
Отправить личное сообщение для KonstantinK Посмотреть профиль Найти все сообщения от KonstantinK
 
Регистрация: 06.03.2010
Сообщений: 44

HelpeR,
Мне ж надо в конкретное место вставить. Интересно что
table_id.appendChild(new_tr)
работает и нормально вставляет в конец таблицы
Ответить с цитированием
  #8 (permalink)  
Старый 01.10.2010, 13:11
Аватар для HelpeR
Профессор
Отправить личное сообщение для HelpeR Посмотреть профиль Найти все сообщения от HelpeR
 
Регистрация: 21.10.2008
Сообщений: 241

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]" />';
}
Ответить с цитированием
  #9 (permalink)  
Старый 01.10.2010, 13:28
Аватар для KonstantinK
Аспирант
Отправить личное сообщение для KonstantinK Посмотреть профиль Найти все сообщения от KonstantinK
 
Регистрация: 06.03.2010
Сообщений: 44

HelpeR,
Ну да понятно, спасибо тут вроде можно вычислить номер tr попоробую переделать, все таки странно что insertBefore не работает
Ответить с цитированием
  #10 (permalink)  
Старый 01.10.2010, 13:42
Аватар для HelpeR
Профессор
Отправить личное сообщение для HelpeR Посмотреть профиль Найти все сообщения от HelpeR
 
Регистрация: 21.10.2008
Сообщений: 241

да почему то insertBefore не работает для таблиц и приходится использовать только insertRow
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Проверка массива на наличие элемента Скриптор Общие вопросы Javascript 16 10.09.2012 17:00
Как узнать содержимое элемента script с src="/js/..." , прикреплённого к странице? arestov Events/DOM/Window 1 07.04.2010 16:35
как проверить наличие элементов в объекте? гвоздик Общие вопросы Javascript 4 30.10.2009 10:33
Обновление элемента на странице ajax-ом Urfin jQuery 1 24.07.2009 17:40
Проверить наличие меню/панели инструментов/адресной строки/статуса Ruark Internet Explorer 8 06.05.2009 22:31