2013-12-04 6 views
0

Я пытаюсь создать уловку, чтобы выполнить код javascript. NO JQUERY Я хочу определить, существует ли идентификатор div ('test') и если он не выполняет код. Как мне это сделать? Я знаю, что структура попытки поймать являетсяJavascript Try Catch for DIV

try{ 

} 
catch(e){ 

} 

ответ

0

Я хотел бы сделать вещи проще и использовать if вместо try-catch. try-catch предназначен для исключительных ситуаций, когда вы действительно не знаете, что делать, чтобы вызвать ошибку. Выброс ошибки приводит к тому, что весь блок кода завершает выполнение.

Я хотел бы сделать так:

var divId = 'test'; 

if (document.getElementById(divId)) { 
    alert('exists'); 
} else { 
    alert('does not exist'); 
} 

Там нет необходимости проверять document.getElementById() результат на null (во всех современных браузерах null возвращается, если не найдено ни одного элемента). В большинстве проектов JavaScript разработчики пропускают ввод !== null, так как null обрабатывается как false, а объект DOM обрабатывается как true, поэтому программисты не набирают очевидных вещей.

+0

'Нет необходимости проверять результат document.getElementById() на null': нет необходимости, но код может быть более читаемым (вопрос вкуса IMHO) –

2

использования try-catch как можно меньше: просто проверить, существует ли элемент DOM:

if (document.getElementById('test')!=null) { 
    // element (div) with id 'test' exists 
} 
else { 
    // it doesn't 
}