Мой скрипт отлично работает, когда все элементы, которые я ищу, объявляются, но я не могу на всю жизнь выяснить, как проверить, существует ли элемент или нет.Проблемы с тестированием, если существует XML-элемент
$placeHolder.getElementsByTagName(tagname)[0].firstChild.data; // works if the element exists
Я попытался тестируя эти строки кода:
if (!($placeHolder.getElementsByTagName(tagname)[0].firstChild.data in window)) //always true
{
alert("this doesn't exist");
return $noValue;
}
else
return $placeHolder.getElementsByTagName(tagname)[0].firstChild.data;
Даже если элемент существует, если заявление верно и выполняет первый блок кода, если он не существует его просто генерирует ошибку, говорящую, что '$ placeHolder.getElementsByTagName (tagname) [0] .firstChild.data' не определено.
Далее я попробовал этот метод:
if (typeof $placeHolder.getElementsByTagName(tagname)[0].firstChild.data == "undefined")
{
alert("this doesn't exist");
return $noValue;
}
else
return $placeHolder.getElementsByTagName(tagname)[0].firstChild.data;
Это одна на самом деле работает правильно, если элемент существует, но по-прежнему дает ту же ошибку, что и один над ним.
Я попытался сделать блок catch try, но я столкнулся с той же проблемой, когда вам нужно было проверить, был ли элемент неопределенным. D: <
Все, что мне нужно, это простой способ увидеть, существует ли этот элемент (т. Е. Если он или не является неопределенным.) Есть ли метод, о котором я не знаю, или я делаю что-то неправильно ?
EDIT2: делать $placeHolder.getElementsByTagName(tagname).length
работает, если элемент не определен, но если это элемент, как это: <anElement></anElement>
$ placeHolder.getElementsByTagName (тэг) .length возвращает истину, и выполняет инструкцию, когда в элементе ничего нет. Пробуя этот тест:
if ($placeHolder.getElementsByTagName(tagname)[0].firstChild.data == null)
также не работает.
ДА! Это сработало! Мне следовало бы проверить длину массива, другая часть моего кода использует атрибут длины ... –
@ user2419560 отлично, рад, что это помогло! – Cherniv
Что бы я сделал, если элемент есть, но в нем ничего нет? Как –