Error, почти 404
Написал вот код:
<!DOCTYPE HTML> <html> <head> <meta http-equiv="content-type" content="text/html; charset=utf-8"> <script> window.onload=function(){ var q = document.getElementsByName('q'); for (var i=0; i < q.length; i++){ if (q[i].innerHTML == '1'|'2'){ document.getElementById('gofor').onclick=function(){ alert ('не прокатило'); } } else document.getElementById('gofor').onclick=function(){ alert('прокатило'); } } } </script> </head> <body> <a name="q">3</a><br> <a name="q">4</a><br> <a name="q">5</a><br> <a name="q">6</a><br> <a name="q">7</a><br> <input type="button" id="gofor" value="Тык"> </body> </html> Проблема заключается в следующем: убрал из списка <a>, в которых были цифры 1 и 2, но скрипт все равно срабатывает так, будто они там присутствуют. Подскажите, пожалуйста, где ошибка? На выходе взависимости от присутствия определенных элементов внутри тегов <a></a> хотел сделать разные функции при клике на кнопку. Спасибо за внимание. :thanks: |
а нука, что даёт это?
var log=[]; // innerHTML [ "3","4","5","6","7"].forEach( function( a ){ log.push( Boolean( a == '1'|'2' ) ); } ) alert( log.join(",") ) // все TRUE ну, понятно, что ошибка на линии 9 |
Viral, что это за условие такое?
q[i].innerHTML == '1'|'2' Бивас, тест if ('1' == '1'|'2') alert('1. Ok') if ('2' == '1'|'2') alert('2. Ok') if ('3' == '1'|'2') alert('3. Ok') |
|
эм...если я правильно понял то, что я сделал, то это для всех q из получившегося массива, равных 1 или 2 выполняется .....
поправьте, пожалуйста, если я ошибся... |
Viral, зачем в условии используется побитовый оператор?
Цитата:
|
Цитата:
if (q[i].innerHTML == '1' || q[i].innerHTML == '2') {...} |
Понял, в чем ошибка, но как исправить не знаю, подскажите, пожалуйста...
Ошибка в том, что скрипт добавляет onclick в инпут в зависимости от того, какой последний элемент массива. Что необходимо исправить, чтобы функция при наличии определенных элементов в массиве срабатывала независимо от их положения в нем? |
Цитата:
|
<!DOCTYPE HTML> <html> <head> <meta http-equiv="content-type" content="text/html; charset=utf-8"> <script> window.onload=function(){ var q = document.getElementsByName('q'); for (var i=0; i < q.length; i++){ if (q[i].innerHTML == '1'|| q[i].innerHTML =='2'){ document.getElementById('gofor').onclick=function(){ alert ('не прокатило'); }; return; }; }; document.getElementById('gofor').onclick=function() {alert("Прокатило")}; } </script> </head> <body> <a name="q">3</a><br> <a name="q">4</a><br> <a name="q">5</a><br> <a name="q">6</a><br> <a name="q">7</a><br> <input type="button" id="gofor" value="Тык"> </body> </html> <!DOCTYPE HTML> <html> <head> <meta http-equiv="content-type" content="text/html; charset=utf-8"> <script> window.onload=function(){ var q = document.getElementsByName('q'); for (var i=0; i < q.length; i++){ if (q[i].innerHTML == '1'|| q[i].innerHTML =='2'){ document.getElementById('gofor').onclick=function(){ alert ('не прокатило'); }; return; }; }; document.getElementById('gofor').onclick=function() {alert("Прокатило")}; } </script> </head> <body> <a name="q">1</a><br> <a name="q">2</a><br> <a name="q">3</a><br> <a name="q">4</a><br> <a name="q">5</a><br> <a name="q">6</a><br> <a name="q">7</a><br> <input type="button" id="gofor" value="Тык"> </body> </html> |
Часовой пояс GMT +3, время: 02:34. |