gpt4 book ai didi

javascript - 在触发之前更改 标记的 href

转载 作者:行者123 更新时间:2023-11-30 08:42:26 25 4
gpt4 key购买 nike

我目前的问题是我想在页面加载它之前指向的内容之前更改标记的 href。

<a href = "#oldLink" onclick = "this.href = #newLink"></a>

我试过类似的方法,但没有用。我试过:

<a href = "#oldLink" onclick = "changeLink();"></a>

在另一个文件中:

changeLink(){
$("a").attr("href", "#newLink");
}

这是行不通的,除非您在更改发生之前发出警报,然后它确实按预期发生了。任何帮助将不胜感激,这是我第一次发帖,如果格式不正确,我们深表歉意

最佳答案

你可以这样做:

HTML:

<a href = "#oldLink" id="link"></a>

EIDT:

之前的解决方案将创建事件的递归循环,改为这样做

JQUERY:

$(function () {

$("#link").on("click", function (e) {

e.preventDefault(); //stop default behaviour

$(this).attr("href", "#newLink"); // change link href

window.location.href = "#link2";
});

});

或:

$(function () {

$("#link").on("click", function (e) {

if ($(this).attr('href') === '#oldLink') // check if it is old link
{

e.preventDefault(); //stop default behaviour

$(this).attr("href", "#newLink"); // change link href

$(this).trigger("click"); // click link programmatically

}
});

});

更新:

$(function () {

$("#link").on("click", function (e) {

if ($(this).attr('href') === '#oldLink') // check if it is old link
{

$(this).attr("href", "#newLink"); // change link href

$(this).trigger("click"); // click link programmatically

return false;

}
});

});

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com