jquery. Каждая функция конфликтует при смене DOM - PullRequest
0 голосов
/ 13 января 2020

Кто-нибудь знает, почему эта функция работает только частично в обоих сценариях ios (с расширением Tampermonkey)

Html:

<div class="container">
  <p>
    <a onclick="alert('item clicked')" class="">Element to auto click</a>
    <a href="myurl/telechargement">Element to open in new tab</a>
  </p>
</div>

Версия 1:

setTimeout(function(){
    $('.container a[href*="telechargement"]').each(function() {
         $(this).attr("target", "_blank"); //not working
         console.log(this) // see image bellow
         $(this).prev()[0].click(); //working
    });
}, 1000);

Версия 2 (почти идентичная):

setTimeout(function(){
    $('.container a[href*="telechargement"]').each(function() {
         $(this).attr("target", "_blank"); //working
         console.log(this) // see image bellow (same result)
         $(this).prev().click(); //not working
    });
 }, 1000);

enter image description here

Консоль возвращает target="_blank" в обоих сценариях ios, но в первом сценарии DOM не изменился, поэтому нет целевого атрибута. Почему это ведет себя так?

Кажется, он работает в скрипке, поэтому я могу искать не в том месте https://jsfiddle.net/n71w52hy/2/. Может ли это прийти от TamperMonkey? Любое предложение приветствуется.

Спасибо, бедра.

...