簡體   English   中英

如何更改點擊的href值

[英]How to change href value on click

我有此鏈接<a href="/Countries/388/10">next</a> 當我單擊下一個href將值更改為<a href="/Countries/388/20">next</a>而不<a href="/Countries/388/20">next</a>時,如何實現此效果。當用戶再次單擊30 ...又是40時。 ... 有任何想法嗎? 像計數器一樣,點擊后加10

$("a").click(function(e){
    e.preventDefault();
    $(this).attr('href', '/Countries/388/20');
});

您需要使用preventDefault()來不進行重定向。

並使其像櫃台

$("a").click(function(e){

e.preventDefault();
var _url = $(this).attr("href");
var _url_start = '/Countries/388/';
var _url_end = parseInt(_url.substr(url.lastIndexOf("/"), url.length-1));
$(this).attr('href', _url_start+(_url_end+10)');
    });

嘗試這個 :

$('a').click(function(){
   $(this).prop('href','/Countries/388/20');
});

標記:

   <a id="myLink" href="/Countries/388/10">next</a>

jQuery的:

   $('#myLink').click(function() { $(this).attr('href', '/Countries/388/20' });

在這里,我為您提供a元素id以供選擇。 jQuery根據id選擇此元素,並將新值分配給href屬性。

盡管我不得不說,這似乎是奇怪的要求。

這個怎么樣

碼:

$('a').click(function(e){
    var countarr = $(this).attr('href').split('/');
    var countval = countarr.pop();
    countval = parseInt(countval,10) + 10;
    var url =  countarr.join('/') + "/" + countval;
    alert(url);
    $(this).attr('href',url);
    e.preventDefault();
})

刪除e.preventDefault(); 如果您想重定向

我認為最簡單的方法是使用RegEx:

$('a.next').click(function(event){
    event.preventDefault(); //Prevent the link from going anywhere
    var href=$(this).prop('href');
    var RegEx = /(.*)\/([\d]+)/g
    var Number=href.replace(RegEx,'$2');
    Number=parseInt(Number)+10
    href=href.replace(RegEx,'$1'+'/'+Number);
    $(this).prop('href', href);
});

UPDATE

每次重新加載頁面時,最好使用您正在使用的后端語言(PHP,.NET等)進行此操作,但是,如果必須使用jQuery,則應該能夠做到這一點。

$('a.next').click(function(event){
    event.preventDefault(); //Prevent the link from going anywhere
    var href=$(this).prop('href');
    var RegEx = /(.*)\/([\d]+)/g
    var URL = href.replace(RegEx,'$1')
    if (window.location.href.indexOf(URL) > -1) { // If this is the current URL
        var Number=window.location.href.replace(RegEx,'$2');
        Number=parseInt(Number)+10
        $(this).prop('href', URL + '/' + Number);
    } else {
        var Number=href.replace(RegEx,'$2');
        Number=parseInt(Number)+10
        $(this).prop('href', URL + '/' + Number);
    }
});

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM