@anton99zel
29а класс средней школы №7

Как упростить java-скрипт код?

Есть код, повторяется 4 раза, отличие в одной букве, можно ли как то его некостыльно сделать, т.е. сократить?
<script type="text/javascript">
    (function (){
      var radioA = document.getElementsByClassName('radio-a');

      for (var i=0; i<radioA.length; ++i){
        radioA[i].addEventListener('click', function(){
          if (this.checked){
            for (var j=0; j<radioA.length; ++j){
              radioA[j].checked = true;
            }
            this.checked = true;
          }
        }, false); 
      }
    }
)();
(function (){
      var radioA = document.getElementsByClassName('radio-b');

      for (var i=0; i<radioA.length; ++i){
        radioA[i].addEventListener('click', function(){
          if (this.checked){
            for (var j=0; j<radioA.length; ++j){
              radioA[j].checked = true;
            }
            this.checked = true;
          }
        }, false); 
      }
    }
)();
(function (){
      var radioA = document.getElementsByClassName('radio-c');

      for (var i=0; i<radioA.length; ++i){
        radioA[i].addEventListener('click', function(){
          if (this.checked){
            for (var j=0; j<radioA.length; ++j){
              radioA[j].checked = true;
            }
            this.checked = true;
          }
        }, false); 
      }
    }
)();
(function (){
      var radioA = document.getElementsByClassName('radio-d');

      for (var i=0; i<radioA.length; ++i){
        radioA[i].addEventListener('click', function(){
          if (this.checked){
            for (var j=0; j<radioA.length; ++j){
              radioA[j].checked = true;
            }
            this.checked = true;
          }
        }, false); 
      }
    }
)();
  </script>
  • Вопрос задан
  • 116 просмотров
Решения вопроса 1
rockon404
@rockon404
Frontend Developer
С использованием jquery https://jsfiddle.net/rockon404/yzfzbt2z/
Чистый js https://jsfiddle.net/rockon404/qzdnwonb/
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы