Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 03.05.2016, 13:29
Новичок на форуме
Отправить личное сообщение для dkmrus Посмотреть профиль Найти все сообщения от dkmrus
 
Регистрация: 03.05.2016
Сообщений: 8

Проверка на существование элемента в реальном времени js
Есть такой код:
$("#proverka").click(function(e) {
    if ($("#div_name")){
        alert("ок");
    }else{ 
        alert("не ок");
    }
});

<div id="div_name"></div>
<button type="button" id="proverka">Проверка</button>

Он проверяет наличие элемента #div_name только в таком состоянии, в котором загрузилась страница.

Т.е., к примеру, если удалить элемент:
$("#proverka").click(function(e) {
    if ($("#div_name")){
        alert("ок");
    }else{ 
        alert("не ок");
    }
}); 

$("#udalit").click(function(e) {
     $("#div_name").remove();
});

<div id="div_name"></div>
<button type="button" id="proverka">Проверка</button>
<button type="button" id="udalit">Удалить элемент</button>

и начать проверку через кнопку, то напишет, что элемент все равно существует.

Отсюда и возникает вопрос. Как реализовать проверку после удаления элемента?
Ответить с цитированием
  #2 (permalink)  
Старый 03.05.2016, 14:06
Новичок на форуме
Отправить личное сообщение для dkmrus Посмотреть профиль Найти все сообщения от dkmrus
 
Регистрация: 03.05.2016
Сообщений: 8

Нашел только что в интернете такой вариант:
if($("#SimpleID").length>0) { //можно просто length
    //html элемент существует 
}

Работает о_О
Тема закрыта. Хотя можете предложить вариант получше, если хотите ^_^
Ответить с цитированием
  #3 (permalink)  
Старый 03.05.2016, 20:17
Кандидат Javascript-наук
Отправить личное сообщение для yazonnile Посмотреть профиль Найти все сообщения от yazonnile
 
Регистрация: 25.05.2012
Сообщений: 133

if($("#SimpleID").length) { //можно просто length
    //html элемент существует
}
Ответить с цитированием
  #4 (permalink)  
Старый 03.05.2016, 20:54
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,070


if(document.getElementById("SimpleID"))
Ответить с цитированием
  #5 (permalink)  
Старый 03.05.2016, 21:51
Новичок на форуме
Отправить личное сообщение для dkmrus Посмотреть профиль Найти все сообщения от dkmrus
 
Регистрация: 03.05.2016
Сообщений: 8

Сообщение от рони Посмотреть сообщение

if(document.getElementById("SimpleID"))
Вау, мне ваш вариант больше нравится. А в чем такое сильное различие if ($("#div_name")) от if(document.getElementById("SimpleID"))?
То же самое, вроде, но один работает нормально, а другой нет.

Последний раз редактировалось dkmrus, 03.05.2016 в 21:56.
Ответить с цитированием
  #6 (permalink)  
Старый 03.05.2016, 21:59
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,070

Сообщение от dkmrus
$("#div_name")
это обьект jquery -- обьект всегда true --
Сообщение от dkmrus
document.getElementById("SimpleID")
это либо элемент, либо null -- элемент в условии будет true, а null даст false

Последний раз редактировалось рони, 03.05.2016 в 22:02.
Ответить с цитированием
  #7 (permalink)  
Старый 03.05.2016, 22:00
Новичок на форуме
Отправить личное сообщение для dkmrus Посмотреть профиль Найти все сообщения от dkmrus
 
Регистрация: 03.05.2016
Сообщений: 8

Спасибо, теперь понятнее стало)))
Ответить с цитированием
  #8 (permalink)  
Старый 03.05.2016, 22:12
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,070

dkmrus,
if(document.getElementById("SimpleID"))

if ( $("#div_name")[0])

обе записи одинаковы по существу!!!
первая быстрее, во второй только отличие не null а undefined в случае отсутствия.
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Запуск js по времени fonzo24 Общие вопросы Javascript 5 21.11.2011 14:47
Можно ли средствами JS узнать высоту скрытого элемента? ацкий Общие вопросы Javascript 7 24.08.2011 19:07
Тест на JS, отсчет времени... Галька Элементы интерфейса 4 27.01.2011 22:23
jQuery, load: замена элемента вырубает js на странице. warobushek AJAX и COMET 0 08.10.2010 07:44
проверка форм с помощиью php и js fizichello Общие вопросы Javascript 2 10.11.2009 03:31