我有这个链接<a href="/Countries/388/10">next</a>
。当我点击下一个href将值更改为<a href="/Countries/388/20">next</a>
而不刷新时,我怎么能实现这一点。当用户再次点击30 ...再次40 ....任何想法?像计数器一样,点击后添加10个
答案 0 :(得分:4)
$("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)');
});
答案 1 :(得分:0)
试试这个:
$('a').click(function(){
$(this).prop('href','/Countries/388/20');
});
答案 2 :(得分:0)
标记:
<a id="myLink" href="/Countries/388/10">next</a>
jQuery的:
$('#myLink').click(function() { $(this).attr('href', '/Countries/388/20' });
在这里,我已将a
元素id
用于选择目的。 jQuery根据id
选择此元素,并将新值分配给href
属性。
这似乎是奇怪的要求,但我不得不说。
答案 3 :(得分:0)
代码:
$('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();
答案 4 :(得分:0)
我认为最简单的方法是使用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);
});
每次页面重新加载时这样做都比使用的后端语言(PHP,.NET等)更好,但是如果必须使用jQuery,这应该能够做到。< / p>
$('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);
}
});