我想在点击按钮时更新菜单项的href,这是我的代码
function refreshReportMenu(){
var ts = '&ts=' + new Date().getTime().string(16);
$('ul.nav a.reps').each(function(){
var href = $(this).attr('href');
$(this).attr('href', href + ts);
});
}
但问题在于它总是将ts附加到href,我想更新ts值,如果它已经在href中。
答案 0 :(得分:0)
$('ul.nav a.reps').each(function(){
var href = $(this).attr('href');
$(this).attr('href', href + ts);
});
认为你错了$this
而不是$(this)
答案 1 :(得分:0)
尝试.indexOf
alert('Index: ' + $(this).attr('href').indexOf('ts'));
检查
if($(this).attr('href').indexOf('ts') > 0)
{
$(this).attr('href', href + ts);
}
答案 2 :(得分:0)
var reg = /(^|&)ts=(.*?)(&|$)/, ts = 'ts=' + new Date().getTime().toString(16);
$('ul.nav a.reps').each(function(){
var href = $(this).attr('href');
if ( href.match(reg) ) {
href = href.replace(reg,"$1+"+ts+"$3");
} else {
href += "&" + ts;
}
$(this).attr('href', href);
});
它应该工作:)