使用Javascript从ahref获取URL



<a href="#url" data-mc-cta="1" style="display:none">Link</a>

在上面的a href代码中,广告网络javascript将在</head>标签

之前生成一个随机URL我正在尝试使用JS代码获得随机URL值:

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

此代码放在</body>标记之前。问题是上面的JS代码获取值#url而不是真正的随机URL值。

据我所知,Javascript按顺序工作,所以,首先广告网络JS代码将url放置到a href标签,然后我的代码将获得值,但它不像我想的那样工作。

有不同的方法来实现输出。选择一个最适合你需要的

UsingWindow.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);
});

UsingsetTimeout:

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

UsingsetInterval:

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
});

UsingIntersectionObserver

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
});

Usingwindow.addEventListener

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

最新更新