Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 07.01.2012, 16:19
Аватар для z700i
Аспирант
Отправить личное сообщение для z700i Посмотреть профиль Найти все сообщения от z700i
 
Регистрация: 15.10.2010
Сообщений: 77

поиск HTMLElement'а в массиве
<input type="hidden" id="a1" value="123">
<input type="hidden" id="a2" value="123">
<input type="hidden" id="a3" value="123">
<input type="hidden" id="a4" value="123">
<input type="hidden" id="a5" value="123">

function getById(id){return document.getElementById(id);}
var a=[getById('a1'),getById('a2'),getById('a3'),getById('a4'),getById('a5')];

как проверить есть ли в массиве инпут с айди а3?
Ответить с цитированием
  #2 (permalink)  
Старый 07.01.2012, 16:21
Аватар для Aetae
Тлен
Отправить личное сообщение для Aetae Посмотреть профиль Найти все сообщения от Aetae
 
Регистрация: 02.01.2010
Сообщений: 6,492

или indexOf
или циклом по .id
__________________
29375, 35
Ответить с цитированием
  #3 (permalink)  
Старый 07.01.2012, 16:28
Аватар для z700i
Аспирант
Отправить личное сообщение для z700i Посмотреть профиль Найти все сообщения от z700i
 
Регистрация: 15.10.2010
Сообщений: 77

как это выглядеть должно?
a.indexOf(getById('a3'))
выдаёт -1
Ответить с цитированием
  #4 (permalink)  
Старый 07.01.2012, 16:37
Аватар для nerv_
junior
Отправить личное сообщение для nerv_ Посмотреть профиль Найти все сообщения от nerv_
 
Регистрация: 29.11.2011
Сообщений: 3,924

\вариант с циклом
<html>
    <head>
        <meta charset="utf-8">
		<script type="text/javascript">
			function checkEl() {
				with(document) var x = [getElementById("a1"), getElementById("a2"), getElementById("a3"), getElementById("a4"), getElementById("a5")];
				for(var i = 0; i < x.length; i++) {
					if(x[i].id == "a4") { // тут
						alert("true");
						break;
					}
				}
			}
		</script>
    </head>
    <body onload="checkEl()">
		<input type="hidden" id="a1" value="123">
		<input type="hidden" id="a2" value="123">
		<input type="hidden" id="a3" value="123">
		<input type="hidden" id="a4" value="123">
		<input type="hidden" id="a5" value="123">
    </body>
</html>
__________________
Чебурашка стал символом олимпийских игр. А чего достиг ты?
Тишина - самый громкий звук
Ответить с цитированием
  #5 (permalink)  
Старый 07.01.2012, 16:43
Аватар для z700i
Аспирант
Отправить личное сообщение для z700i Посмотреть профиль Найти все сообщения от z700i
 
Регистрация: 15.10.2010
Сообщений: 77

спасибо но цикл мне не подходит, у меня элементов много очень
Ответить с цитированием
  #6 (permalink)  
Старый 07.01.2012, 16:47
что-то знаю
Отправить личное сообщение для devote Посмотреть профиль Найти все сообщения от devote
 
Регистрация: 24.05.2009
Сообщений: 5,176

чет не понял, а так не катит:
if ( getById('a3') ) {
  // элемент есть
} else {
  // элемента нету
}

или
if ( a[ 2 ] ) {
  // элемент есть
} else {
  // элемента нету
}
Ответить с цитированием
  #7 (permalink)  
Старый 07.01.2012, 16:49
Аватар для z700i
Аспирант
Отправить личное сообщение для z700i Посмотреть профиль Найти все сообщения от z700i
 
Регистрация: 15.10.2010
Сообщений: 77

нет, потому что есть массив с элементами и есть элементы в ХТМЛ коде
над взять из ХТМЛ и проверить есть ли он в массиве
Ответить с цитированием
  #8 (permalink)  
Старый 07.01.2012, 16:54
что-то знаю
Отправить личное сообщение для devote Посмотреть профиль Найти все сообщения от devote
 
Регистрация: 24.05.2009
Сообщений: 5,176

ну значит абсолютное равенство === циклом
Ответить с цитированием
  #9 (permalink)  
Старый 07.01.2012, 16:55
Профессор
Посмотреть профиль Найти все сообщения от Livaanderiamarum
 
Регистрация: 25.12.2011
Сообщений: 786

Сообщение от devote Посмотреть сообщение
ну значит абсолютное равенство === циклом
не подходит ему цикл, элементов у него много ну что вы пристали к человеку)
Ответить с цитированием
  #10 (permalink)  
Старый 07.01.2012, 17:03
Аватар для Aetae
Тлен
Отправить личное сообщение для Aetae Посмотреть профиль Найти все сообщения от Aetae
 
Регистрация: 02.01.2010
Сообщений: 6,492

Вы наверняка делаете что-то через задний проход.
Но если очень хочется:
<input type="hidden" id="a1" value="123">
<input type="hidden" id="a2" value="123">
<input type="hidden" id="a3" value="123">
<input type="hidden" id="a4" value="123">
<input type="hidden" id="a5" value="123">
<script>function getById(id){return document.getElementById(id);}
var a=[getById('a1'),getById('a2'),getById('a3'),getById('a4'),getById('a5')];
alert(a.indexOf(getById('a3')))
</script>
__________________
29375, 35
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Поиск в тексте javascript jQuery 3 31.05.2011 11:40
Поиск вхождения подстроки в массиве строк. FINoM Общие вопросы Javascript 8 27.02.2011 11:53
PagingToolbar и поиск DenQ ExtJS 5 02.11.2010 00:16
Поиск в двумерном массиве Vamp Общие вопросы Javascript 2 16.07.2009 13:05
Поиск в массиве через JavaScript Noran Общие вопросы Javascript 0 10.08.2008 17:31