2013-08-02 65 views
0

我對網頁設計非常陌生,但自從幾個月以來,我試圖學習一些基本知識以使用html,css,JavaScript等。我遵循並試圖理解在w3cschool和其他介紹網站上找到的所有基本教程,html中的結構沒有特別問題,也沒有用css設計樣式,但現在我正面臨JavaScript並且這是問題,但讓我先解釋一下我正在努力實現的。使用jQuery在.load()調用後更改href

在網站上,我triyng構想我已經創建了一個側面板,其中必須包含一些標題和從另一個網站,另一個域採取的文章的簡短說明。 由於我的經驗很差,以及在網上找到的信息,我認爲jQuery可以幫助我完成此任務,特別是使用load()方法。因此,在源頁上的.txt格式保存副本,其中的標題是後,我寫在我的文檔的頭一個非常簡單的代碼:

$(document).ready(function() { 
    $("#myDiv1 p").load("copyOfSite.txt .list a:eq(0)"); 
    $("#myDiv2 p").load("copyOfSite.txt .list a:eq(1)"); 
    $("#myDiv3 p").load("copyOfSite.txt .list a:eq(2)"); 
}); 

這是工作的罰款,但一個事實,即標題我我打電話是與其他域的文章的相對鏈接,所以他們不在我的網站工作。

我試着在加載方法的第二部分指定一個函數,但是我找不到將其他站點的域預先加載到我已加載的href屬性的方法。我只獲得指定的URL或東西刪除加載URL像

​​

$(document).ready(function() { 
    $("#myDiv1 p").load("copyOfSite.txt .list a:eq(0)",function(data){ 
     $(this).find("[href]").removeAttr('href')} 
    )}; 

但在這兩種情況下,我不能設法叫我裝稱號的href屬性,附加到文章域。所以我想知道是否有辦法實現它,或者我的任務方法是完全錯誤的。

在此先感謝

+0

使用JavaScript進行導航的最佳方式如下: location.href =「url」; – Gericke

回答

0

你需要預先協議和主機名到已經存在的相對HREF的,現在您要更換整個HREF新的URL。
用一個函數來獲取每個HREF,只是前面加上主機名到什麼已經存在:

$("#myDiv1 p").load("copyOfSite.txt .list a:eq(0)",function(data){ 
    $(this).find("[href]").attr('href', function(_,href) { 
     return 'http://www.articlesdomain.com' + href; 
    }); 
)}; 

注意的是相對的HREFs應該/啓動,否則你就必須將它添加到的結束prepended url以及

+0

謝謝,現在它正在工作!...這是問題!我在努力理解JavaScript語法,但這是一步一步的過程... – user2645375

0
$(function() { 
    $('a.something').click(function (e) { 
     e.preventDefault(); 
    });