0

ボタンをクリックしてメニュー項目の 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 に追加することです。すでに href にある場合は、ts 値を更新したいと思います。

4

3 に答える 3

0

試す.indexOf

alert('Index: ' + $(this).attr('href').indexOf('ts'));

小切手

if($(this).attr('href').indexOf('ts') > 0)
{
    $(this).attr('href', href + ts);
}
于 2013-03-01T11:43:17.763 に答える
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);
});

それはうまくいくはずです:)

于 2013-03-01T11:53:38.397 に答える
0
 $('ul.nav a.reps').each(function(){
       var href = $(this).attr('href');
        $(this).attr('href', href + ts);
    });

$this代わりにここで間違ったと思います$(this)

于 2013-03-01T11:40:50.843 に答える