在点击链接和加载页面后点击URL时,我尝试更改URL链接(href
属性)。我试过这个:
<a href="http://example.com/ASC/" class="sort_loading_country">link</a>
jQuery( ".sort_loading_country" ).click(function() {
str = jQuery(".sort_loading_country").attr("href") ;
if ((str.indexOf('ASC') + 1) > 0) {
new_str = str.replace(/ASC/g, "DESC");
jQuery(".sort_loading_country").attr("href", new_str);
}
});
这会更改网址,但点击链接后会打开新网页的新网址。我想在打开页面后跟踪链接后更改URL。我也尝试了这个:
jQuery(".sort_loading_country").click(function() {
str = jQuery(".sort_loading_country").attr("href");
jQuery(document).ready(function() {
if ((str.indexOf('ASC') + 1) > 0) {
new_str = str.replace(/ASC/g, "DESC");
jQuery(".sort_loading_country").attr("href", new_str);
}
});
同样的行为,点击链接 - 然后用新网址打开新页面。当我点击带有旧网址的链接打开页面并在此之后将url更改为href中的new时,我希望这样。 我错过了什么吗?有人知道如何在使用旧URL加载页面后更改属性href?
答案 0 :(得分:0)
答案 1 :(得分:0)
是的 - 所以在跟踪链接之前调用了onclick函数,因此您需要更改URL,然后跟踪该URL。您需要做的是延迟代码的执行,以便在遵循URL后发生。
您可以使用setTimeout方法执行此操作,如下所示:
jQuery( ".sort_loading_country" ).click(function() {
setTimeout(function() {
str = jQuery(".sort_loading_country").attr("href") ;
if ((str.indexOf('ASC') + 1) > 0) {
new_str = str.replace(/ASC/g, "DESC");
jQuery(".sort_loading_country").attr("href", new_str);
}
}, 1);
});
这会延迟执行代码,直到跟踪链接为止。
答案 2 :(得分:0)
与上面类似,第一次点击将是/ ASC /,如果你再次点击它将是/ DESC /.
jQuery( ".sort_loading_country" ).click(function() {
console.log($(this).attr("href"));
setTimeout(function() {
str = jQuery(".sort_loading_country").attr("href") ;
if ((str.indexOf('ASC') + 1) > 0) {
new_str = str.replace(/ASC/g, "DESC");
jQuery(".sort_loading_country").attr("href", new_str);
}
}, 1);
return false;
});
&#13;
答案 3 :(得分:0)
所以你需要使用存储,就像用户点击链接一样,每当他回来时,它将直接改变href
。
<a href="https://example.com/ASC/" class="sort_loading_country">link</a>
if(localStorage.getItem("url", "DESC")){
str = jQuery(".sort_loading_country").attr("href");
jQuery(document).ready(function() {
if ((str.indexOf('ASC') + 1) > 0) {
new_str = str.replace(/ASC/g, "DESC");
jQuery(".sort_loading_country").attr("href", new_str);
}
});
}
jQuery(".sort_loading_country").click(function() {
localStorage.setItem("url", "DESC");
alert(jQuery(".sort_loading_country").attr("href"))
});
JsFiddle URL