поиск 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? :help: |
или indexOf
или циклом по .id |
как это выглядеть должно?
a.indexOf(getById('a3'))выдаёт -1 |
\вариант с циклом
<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> |
спасибо но цикл мне не подходит, у меня элементов много очень
|
чет не понял, а так не катит:
if ( getById('a3') ) { // элемент есть } else { // элемента нету } или if ( a[ 2 ] ) { // элемент есть } else { // элемента нету } |
нет, потому что есть массив с элементами и есть элементы в ХТМЛ коде
над взять из ХТМЛ и проверить есть ли он в массиве |
ну значит абсолютное равенство === циклом
|
Цитата:
|
Вы наверняка делаете что-то через задний проход.
Но если очень хочется: <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> |
Часовой пояс GMT +3, время: 17:38. |