Используйте массив в jquery для подсчета через числа 1-4 - PullRequest
0 голосов
/ 14 января 2020

Я хотел бы сократить следующий фрагмент кода. В общем, я хотел бы считать от 1 до 4, и если я правильно помню, я мог бы сделать это с массивом?

    $('.anchor-4').on('click', function(event){
        $('#ui-id-4').click();
    });
    $('.anchor-3').on('click', function(event){
        $('#ui-id-3').click();
    });
    $('.anchor-2').on('click', function(event){
        $('#ui-id-2').click();
    });
    $('.anchor-1').on('click', function(event){
        $('#ui-id-1').click();
    });

Большое спасибо за вашу помощь!

Ответы [ 3 ]

1 голос
/ 14 января 2020

вы можете сделать это:

for(var i=1;i<=4;i++){
    $('.anchor-'+i).on('click', function(event){

            $('#ui-id-'+i).click();

        });
    }
0 голосов
/ 14 января 2020

вы можете сделать что-то вроде этого, предполагая html что-то вроде этого вы можете сделать

<div class="achor" data-id="1"></div>
<div class="achor" data-id="2"></div>
<div class="achor" data-id="3"></div>
<div class="achor" data-id="4"></div>


 $('.anchor').on('click', function(event){
    let id=$(this).data('id')
        $('#ui-id-'+id).click();

    });
0 голосов
/ 14 января 2020

Вы можете предварительно заполнить массив

[1,2,3,4].forEach(n => {
  $(`.anchor-${n}`).on('click', function(){
     $(`#ui-id-${n}`).click();
  });
});

, если N неизвестно, чем вы можете использовать атрибут data-* для хранения селектора цели

// Use the attribute like: <a data-target="#ui-id-1" ...

$('[data-target]').on('click', function(){
   $(this.dataset.target).click();
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...