我目前的问题是我想在页面加载它之前指向的内容之前更改标记的 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;
}
});
});
关于javascript - 在触发之前更改 <a> 标记的 href,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25095105/