javascript
  • jquery
  • html
  • href
  • 2015-04-22 76 views 0 likes 
    0

    我試圖改變使用jQuery的href的內容。我發現了一些關於這個網站很好的答案,而我試圖用這個來實現它:使用jQuery替換href鏈接.attr

    How to change the href for a hyperlink using jQuery

    我把它包裹在一個if語句是這樣的:

    if(window.location.href == "http://test.com/Home.aspx"){ 
    
        $("a[href='https://www.surveymonkey.com/s/tester123']").attr('href', 'https://www.surveymonkey.com/s/tester234'); 
    } 
    

    我已經採取了一些控制檯日誌並顯示出其爲達到這一行代碼,並認爲這:

    $("a[href='https://www.surveymonkey.com/s/tester123']") 
    

    是否返回正確的鏈接。然而,當我檢查頁面源時,href值永遠不會被替換。

    我使用http://ajax.googleapis.com/ajax/libs/jquery/1.5.2/jquery.min.js?build=7111092

    我卡上如何調試的問題是什麼,任何人都可以幫助我們發現了一點?希望它只是一個愚蠢的錯誤!

    - 編輯 -

    我現在還檢查了使用檢查元素,它沒有被不幸所取代。

    也要感謝@Vohuman和@roxxypoxxy的信息,除非我能夠看到變化,否則無法看到變化。愚蠢的是,我期待它像查找/替換一樣工作!

    +4

    「不過href值永遠不會更換當我檢查網頁的源文件。」您應該檢查元素並查看DOM元素的實時表示。 – undefined

    +0

    頁面源代碼是頁面源代碼,你不能改變它(幸運的是)客戶端... –

    +0

    我剛通過檢查元素來檢查它,它仍然是不幸的。 – hlh3406

    回答

    3

    我認爲這是一個jquery版本問題。你正在使用Jquery 1.5。 jQuery的文檔,他們都提到這個

    的jQuery 1.6之前,.attr()方法有時把屬性中獲取一些屬性,這可能會導致 不一致的行爲,當值 考慮。

    來源https://api.jquery.com/attr/

    所以儘量使用更高版本的JQuery或使用.attr().prop()代替

    +0

    這剛剛解決了它 - 謝謝!當時間到了時,將接受正確答案。 – hlh3406

    相關問題