簡體   English   中英

用jQuery更改外部函數中的鏈接

[英]changing links in an external function with Jquery

我在網站上有一些鏈接,需要將它們定向到一個頁面,告訴用戶他們正在離開該網站。 所有這些鏈接上都已經具有onClick函數,該函數通常會觸發警報,告知他們他們將離開站點。
例如,這通常會觸發警報:

<a href="http://www.example.com" onclick="return displayWarning(1, this);">Example</a>

我想做的是向該displayWarning()函數添加功能,這樣,如果將整數“ 1”作為參數傳遞給用戶,它將把用戶帶到新頁面,例如: http://www.mySite。 com / warning?url = http://www.example.com

現在我正在使用這個:

if(msg == 0) {   
window.location.href='/warning?url='+($(this).href);  
}

我也嘗試過這樣做,看看是否可以在加載時全部更改它們,但是似乎遇到了相同的問題:

$(document).ready(function(){   
$("a[onClick='return displayWarning(1, this);']").attr('href', '/warning?url='+$(this).attr('href'));
}); 

但是,URL沒有正確定義,因為我相當確定$(this)的上下文未按照我嘗試調用的方式設置。

我已經看到了下面提到的類似問題,但是它們似乎並不能解決我的問題,因為大多數問題是使用鏈接的類,或者只是將所有鏈接更改為某個值。

如何使用jQuery更改超鏈接的href jQuery attr href,為什么不起作用?

謝謝。

我認為這是您想要的:

location.href='/warning?url='+encodeURIComponent(location.href);  

我無法理解您要實現的目標...為什么不使用if this作為參數將if放到displayWarning函數中呢?

function displayWarning(parameter, anchor){
    if(parameter == 1){
        $(anchor).attr("href", "http://example.com");
    }    
}

謝謝大家,但我最后回答了。 事實證明,我正在使用的函數中已經內置了一個對象(我沒有編寫它),該對象使我能夠獲取href值。 但是,我想知道是否有更快的方法。

暫無
暫無

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

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