簡體   English   中英

什么是更簡潔的方式將某些內容附加到鏈接URL?

[英]Whats a cleaner way to append something to a link URL?

到目前為止我已經有了這個代碼,但是沒有用:

$('.passName').click(function(){
    var schoolName = "18734";
    var link = $(this).attr('href');
    var newLink = link + schoolName;
    $(this).attr('href') = newLink;
});

請執行下列操作:

$(this).attr('href', newLink);

您的方法存在問題:每次單擊時都會將schoolName附加到URL,即使用戶定位到另一個選項卡也是如此。

所以我建議不要弄亂href屬性但是點擊動作:

   $('.passName').click(function(){
            location.href = this.href + "18734";
   });

或者至少檢查一下你之前沒有添加它:

   $('.passName').click(function(){
       var schoolName = "18734";
       var link = this.href;
       if (link.indexOf(schoolName, link.length - schoolName.length)!==-1) {
           this.href = link+schoolName
       }
   });

或者,正如Felix Kling建議的那樣,只需確保只調用一次函數:

   $('.passName').one('click', function(){
       this.href += "18734"
   });

在Simple中,這樣做: -

$('.passName').click(function() {
    $(this).attr('href', this.href+'18734');
});

您實際上不需要創建新的jQuery對象,您可以簡單地:

$('.passName').click(function() {
   var schoolName = "18734";
   this.href += schoolName;
});

庫作為jQuery很有用,但我們不應該忘記簡單的JavaScript和DOM。

另外,在JS中,你無法真正為函數調用“分配”某些內容; 在jQuery中設置屬性值的方法是$(this).attr('attr', newLink)

暫無
暫無

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

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