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, время: 14:14. |