powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / Не выполняется if в переборе элементов
10 сообщений из 10, страница 1 из 1
Не выполняется if в переборе элементов
    #38358706
Фотография Foxter
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Добрый вечер!

Передо мной стоит задача поиска элемента по его id/name/tag. Реализую через проверку возвращаемого значения. но почему - то код выполняется только до второго else. Не поможете разобраться, в js я не особо.

Код: javascript
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
<script>
var x = function(el_name)
{
	if(document.getElementById(el_name))
	{
		alert('else 1');
	}
	else
	{
		alert('else 2');
		if(document.getElementByName(el_name))
		{
		alert(3);
		}
		else
		{	alert('else 3');
			if(document.getElementByTag(el_name))
			{
			alert(3);
			}
			else
			{
		    alert(0);
			}
		}
	}
}
x(3);
</script>



И может можно как-то оптимизировать алгоритм такого поиска? Спасибо.
...
Рейтинг: 0 / 0
Не выполняется if в переборе элементов
    #38358723
bazile
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Foxter, ты вызываешь несуществующие функции getElementByName и getElementByTag. Замени на getElementsByName и getElementsByTagName.

FoxterИ может можно как-то оптимизировать алгоритм такого поиска
Прежде чем оптимизировать неплохо бы разобраться нужна ли вообще такая функция. Где и как ты её планируешь применять?
...
Рейтинг: 0 / 0
Не выполняется if в переборе элементов
    #38358735
Програмёр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
bazileFoxter, ты вызываешь несуществующие функции getElementByName и getElementByTag. Замени на getElementsByName и getElementsByTagName.

FoxterИ может можно как-то оптимизировать алгоритм такого поиска
Прежде чем оптимизировать неплохо бы разобраться нужна ли вообще такая функция. Где и как ты её планируешь применять?

Эх, не успел ответить... пока проверял, уже ответили... Ладно, вот вариант оптимизации (если конечно под описание подпадает только один элемент на странице):
Код: javascript
1.
2.
3.
id = "body";
el = document.getElementById(id) || document.getElementsByName(id)[0] || document.getElementsByTagName(id)[0];
alert(el);



А если в зависимости от того, по какому из атрибутов был найден элемент, надо выполнить разные действия, то тогда наверное никак не оптимизировать, только через if...else. Не, ну можно конечно switch(true){case ...} использовать (красивее будет), но это уже просто красивое извращение :).

Более подробно, после описания самой задачи.
...
Рейтинг: 0 / 0
Не выполняется if в переборе элементов
    #38358737
Фотография Foxter
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
bazileFoxter, ты вызываешь несуществующие функции getElementByName и getElementByTag. Замени на getElementsByName и getElementsByTagName.

FoxterИ может можно как-то оптимизировать алгоритм такого поиска
Прежде чем оптимизировать неплохо бы разобраться нужна ли вообще такая функция. Где и как ты её планируешь применять?

Нужен аналог типа $x() в JQuery
...
Рейтинг: 0 / 0
Не выполняется if в переборе элементов
    #38358739
Фотография Foxter
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
[quot Програмёр]bazile
Более подробно, после описания самой задачи.

Спасибо
...
Рейтинг: 0 / 0
Не выполняется if в переборе элементов
    #38358769
Програмёр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
FoxterbazileFoxter, ты вызываешь несуществующие функции getElementByName и getElementByTag. Замени на getElementsByName и getElementsByTagName.

пропущено...

Прежде чем оптимизировать неплохо бы разобраться нужна ли вообще такая функция. Где и как ты её планируешь применять?

Нужен аналог типа $x() в JQuery

ой... а я такой функции не знаю... Если нужен аналог JQuery, может лучше тогда её и использовать? Уже давно было доказано на личном опыте, что попытка воссоздать частично функционал какого-то фрэймворка своими силами, обычно ни к чему хорошему не приводит, так как в итоге код фрэймворка оказывается более оптимизированным, когда над ним работает не один или 2 человека, а требуемый функционал всё расширяется и расширяется, пока в итоге не становится выгоднее перейти на общеизвестный фреймворк и использовать именно его :).
...
Рейтинг: 0 / 0
Не выполняется if в переборе элементов
    #38359049
st_st
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Есть родной document.querySelectorAll("css selector")
И ещё есть Sizzle
...
Рейтинг: 0 / 0
Не выполняется if в переборе элементов
    #38359062
mhx
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
mhx
Гость
ой... а я такой функции не знаю...
Это такая секретная функция, что о ней не знает даже официальная документация.
...
Рейтинг: 0 / 0
Не выполняется if в переборе элементов
    #38359395
Gustly
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Не выполняется if в переборе элементов
    #38360274
Фотография suPPLer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Gustly http://docs.oracle.com/cd/E37097_01/doc/doc.42/e35127/javascript_api.htm#autoId33
Автор темы не в курсе, что это не функция jQuery и не встроенная функция JS.
...
Рейтинг: 0 / 0
10 сообщений из 10, страница 1 из 1
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / Не выполняется if в переборе элементов
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]