jquery 使用Javascript从afref获取URL

1l5u6lss  于 2023-04-05  发布在  jQuery
关注(0)|答案(1)|浏览(172)

<a href="#url" data-mc-cta="1" style="display:none">Link</a>
在这上面的a href代码,一个随机的URL将由广告网络javascript生成放置在</head>标签之前
我尝试使用JS代码获取随机URL值:

var maxConvLink = document.querySelector('a[data-mc-cta="1"]');
var mcLink = maxConvLink.getAttribute("href");
alert(mcLink);

这段代码放在</body>标签之前。问题是上面的JS代码获取值#url而不是真实的随机URL值。
据我所知,Javascript的工作顺序,所以,第一个广告网络JS代码将把网址a href标签,然后我的代码将获得的值,但它不工作,因为我认为.

46scxncf

46scxncf1#

  • 有不同的方法来实现输出。选择最适合您需求的方法。*
    使用Window.onload
window.onload = function() {
  var maxConvLink = document.querySelector('a[data-mc-cta="1"]');
  var mcLink = maxConvLink.getAttribute("href");
  alert(mcLink);    
}

使用jQuery文档就绪函数

$(document).ready(function() {
  var maxConvLink = document.querySelector('a[data-mc-cta="1"]');
  var mcLink = maxConvLink.getAttribute("href");
  alert(mcLink);    
});

为了使用jQuery库,您需要包含它

<script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>

使用DOMContentLoaded事件

document.addEventListener("DOMContentLoaded", function() {
  var maxConvLink = document.querySelector('a[data-mc-cta="1"]');
  var mcLink = maxConvLink.getAttribute("href");
  alert(mcLink);
});

使用setTimeout

setTimeout(function() {
  var maxConvLink = document.querySelector('a[data-mc-cta="1"]');
  var mcLink = maxConvLink.getAttribute("href");
  alert(mcLink);
}, 1000);

使用setInterval

var intervalId = setInterval(function() {
  var maxConvLink = document.querySelector('a[data-mc-cta="1"]');
  if (maxConvLink) {
    clearInterval(intervalId);
    var mcLink = maxConvLink.getAttribute("href");
    alert(mcLink);
  }
}, 1000);

使用MutationObserver

var targetNode = document.querySelector('a[data-mc-cta="1"]');

var observer = new MutationObserver(function(mutations) {
  mutations.forEach(function(mutation) {
    if (mutation.type === "attributes" && mutation.attributeName === "href") {
      var maxConvLink = mutation.target;
      var mcLink = maxConvLink.getAttribute("href");
      alert(mcLink);
    }
  });
});

observer.observe(targetNode, {
  attributes: true
});

使用IntersectionObserver

var targetNode = document.querySelector('a[data-mc-cta="1"]');

var observer = new IntersectionObserver(function(mutations) {
  mutations.forEach(function(mutation) {
    if (mutation.type === "attributes" && mutation.attributeName === "href") {
      var maxConvLink = mutation.target;
      var mcLink = maxConvLink.getAttribute("href");
      alert(mcLink);
    }
  });
});

observer.observe(targetNode, {
  attributes: true
});

使用window.addEventListener

window.addEventListener("load", function() {
  var maxConvLink = document.querySelector('a[data-mc-cta="1"]');
  var mcLink = maxConvLink.getAttribute("href");
  alert(mcLink);    
});

相关问题