2014-12-10 68 views
0

我正在從另一個站點(都由同一個人擁有)刮取內容的網站上工作。當它引入鏈接時,href沒有按照我需要的格式進行格式化,所以我試圖保留原始值並在它的開頭添加一個斜槓。我已經接近,但無法正常工作。目前的格式是href="like-this",但我需要它是href="/like-this"添加到當前屬性值

這是我已經試過了差點:

$('.disamb li a').attr('href', function() { 
    return '/' + this.href; 
}); 

返回了整個絕對URL /在開始的時候。所以我試着用each()

$('.disamb li a').each(function() { 
    $(this).attr('href', '/'+this.href); 
}); 

同樣的結果。我嘗試了其他幾種方法,但這兩個方法是最接近的。我怎樣才能做到這一點,而不是通過替換函數來運行它以將其剝離爲我所需要的? (即似乎只是草率)

+1

什麼是一個URL的例子,你想要什麼 – Rafael 2014-12-10 22:33:03

+1

可能的重複:http://stackoverflow.com/questions/1550901/how-to-get-raw-href-contents-in-javascript – 2014-12-10 22:37:02

回答

1

嘗試這種情況:

$('.disamb li a').attr('href', function(i, old) { 
    return '/' + old; 
}); 

的函數接收兩個參數,在當前元素的索引,並且該屬性的當前值。

當您使用this.href時,您會在瀏覽器規範化爲完整的絕對URL而不是該屬性的字符串值後獲取該URL。

+0

阿好吧,關於使用'this'很好。這工作正是我需要它。謝謝!我知道我很接近,但是錯誤的是。 – stinkysGTI 2014-12-10 22:45:05