On the page there are many links of the form:

<a href="javascript:Begin( '1176892828' );" class="thisLink">Начать</a> 

The number in brackets for each link is unique, the class "thisLink" can not be used, as it is and for links that do not need to be clicked. How to click on all such links?

  • and how do you want to determine which links you need to click and which not? - Grundy
  • add one more class to all the necessary links, what is the difficulty then? - Blacknife
  • $('a').each(function(){ if ($(this).attr('href').indexOf('javascript:Begin(') != -1) { alert($(this).text()); } }); it? only instead of alert($(this).text()); need $(this).click() - Alexey Shimansky
  • @ Alexey Shimansky click () on such links will not work, as far as I know. - Sergey Gornostaev
  • I will only ask you why this act? What do you want to achieve? - Vasily Barbashev

4 answers 4

As far as I understand correctly, you want to call all the links that contain the Begin function. It's pretty simple, we get all the links, select the necessary data from href and click the links if they contain this function.

 function Begin(number) { console.log(number); } $('a').each(function() { if (this.href.match(/^javascript:Begin\( \'([0-9]+)\' \);$/)) { eval(this.href); } }); 
 <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.0.3/jquery.min.js"></script> <a href="javascript:Begin( '1176892828' );" class="thisLink">Link 1</a> <a href="javascript:Begin( '113453458' );" class="thisLink">Link 2</a> <a href="/test" class="thisLink">Link 3</a> <a href="javascript:Begin( '2434534534' );" class="thisLink">Link 4</a> 

    Very unsafe option, but it works.

     $('a').each(function() { hrefVal = $(this).attr('href'); if(hrefVal.startsWith('javascript:')) { eval(hrefVal); } }); 

       function Begin(number) { alert(number); } $('a').each(function() { if ($(this).attr('href').indexOf('javascript:Begin(') != -1) { eval(this.href); } }); 
       <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <a href="javascript:Begin( '666' );" class="thisLink">Начать2</a> <a href="javascript:Begin( '777' );" class="thisLink">Начать3</a> <a href="#some" class="thisLink">Начать343</a> <a href="javascript:Begin( '888' );" class="thisLink">Начать4</a> 


      javascript

       function Begin(number) { alert(number); } var links = document.querySelectorAll('a'); for (var i = 0, len = links.length; i < len; i++) { if (links[i].href.indexOf('javascript:') !== -1) { eval(links[i].href); } } 
       <a href="javascript:Begin( '111' );" class="thisLink">Начать2</a> <a href="javascript:Begin( '222' );" class="thisLink">Начать3</a> <a href="#some" class="thisLink">Начать3</a> <a href="javascript:Begin( '333' );" class="thisLink">Начать4</a> 

         function Begin(number) { alert(number); } $(document).ready(function(){ $('a').each(function(){ if(-1 !== (this.href).indexOf('javascript:Begin')){ this.click(); } }); }); 
         <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <a href="javascript:Begin( '1176892828' );" class="thisLink">Ссылка 1</a> <a href="javascript:Begin( '1176892821' );" class="thisLink">Ссылка 2</a> <a href="http://google.com" class="thisLink">Гугл</a> <a href="javascript:Begin( '1176892822' );" class="thisLink">Ссылка 3</a> <a href="javascript:Begin( '1176892823' );" class="thisLink">Ссылка 4</a> <a href="http://yandex.ru" class="thisLink">Яндекс</a> <a href="javascript:alert( 'FALSE' );" class="thisLink">Javascript</a>