2011-10-31 67 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