2012-03-29 2 views
-4

Вот JQuery я тестирую:Попытки увидеть, если элемент существует

var length = $('#showLBVRBVVol').length; 
if(length != 0) { 
    console.log('test'); 
} 

Это сгенерирует ошибку неопределенного

Что интересно это работает:

var length = $('#showLBVRBVVol').length; 
if(length == 0) { 
    console.log('test'); 
} 

выше будет правильно регистрировать 'test'. Есть ли что-то, что я делаю неправильно, что первый вариант не работает, а второй?

Элемент динамически добавляется, если он необходим, иначе он не существует. Мне нужно понять разницу между ними.

EDITED:

http://jsfiddle.net/d6dZG/

+3

Это невозможно. Код, который вы показали, не может вызывать такие ошибки. Пожалуйста, повторите, что на jsfiddle.net – zerkms

+0

'undefined' не является ошибкой. – Tomalak

+0

Позвольте мне угадать ... Вы пробовали этот код в консоли браузера? – brezanac

ответ

3

Я думаю, что вы хотите проверить, существует ли он или нет, поэтому проверить существование '#showLBVRBVVol' элемента

if($('#showLBVRBVVol').length) // if true 
{ 
    console.log('exists'); // Output: 'exists' only when if condition is true 
} 

, если он существует, то он будет возвращать 1 (логическое true) в противном случае 0 (логическое значение false)

+0

Это работает. Я был смущен, потому что код не работал в Firebug, но он работал, если я добавил его в исходный код. –

+0

Надеюсь, это уже не путаница! –

+0

Я все еще не уверен, почему он не работает в firebug, но делает это в источнике. Я хотел бы знать, что, если кто-нибудь знает, но кроме этого, я просто рад, что он работает. :) –

Смежные вопросы