2011-10-31 62 views
0

我試圖寫一些我的第一個jQuery的劇本,但我有一些問題... 我的頁面有很長的文字有很多內部鏈接( <a href="/contents/Foo.htm" class=.internal>Foo</a> )的。我希望當你點擊其中一個.internal鏈接時,href路徑將在<div id="article">內打開。寫內部鏈接與AJAX

var InternalLink = function() { 
    $(".internal").click(function(){ 
     var path = $(this).attr("href"); 
     $.ajax({ 
      url: "path", 
      success: function(data) { 
       $('#article').html(data); 
      } 
     }); 
    });  
}; 

我寫的代碼如下所示,它完美地工作,但我想要的代碼推廣到內部類的每一個環節:

$("#article_01").click(function(){ 
    $.ajax({ 
     url: 'contents/article_01.htm', 
     success: function(data) { 
      $('#article').html(data); 
     } 
    }); 
}); 
+1

不要放一個「。」在錨點中的類名之前。該點只用於jquery根據類來選擇。 – scrappedcola

回答

1
<a href="/contents/Foo.htm" class="internal" data-ref="article_01">Foo</a> 

JS:

$(".internal").click(function(){ 
    var path = this.href; 
    var div = $(this).data('ref'); 
    $.ajax({ 
     url: path, 
     success: function(data) { 
      $('#'+div).html(data); 
     } 
    }); 
    return false; // so the link does *not* follow through 
});  

所以現在你所要做的就是將data-ref改爲指向你要加載html的div。

+0

這是不會工作的,因爲有一個「。」在錨點中的類名前面。需要從html中刪除。 – scrappedcola

+0

@scrappedcola thanx,對不起,從OP複製 - 沒有注意到,大聲笑 – Neal

+0

Thaks隊友!但是我在href裏面寫了些什麼? data-ref是我在內部加載的文件的url,但我無法理解href。我可以只放「#」嗎?我已經嘗試了腳本,但它似乎不能正常工作......我認爲路徑var不包含正確的路徑。在這個例子http://bit.ly/viKQrD的Chrome的CONSOLle告訴我「GET http:// www。(MyDomain).com/example/path 404(Not Found)」 – Nicolaesse