2016-05-04 46 views
1

我试图从多个页面加载一些内容到一个页面。我知道这些按顺序排列,所以只有pageB2的内容会在最后一次加载。当用户点击#nav_b时,有没有办法让pageB和pageB2的内容出现在新页面中?使用jquery load从2个HTML页面获取内容

$(function(){ 
      $("#nav_b").on("click", function(){ 
       $("#main_text").load("pageB.html h2,h3,span,#hidden"); 
      }); 
      $("#nav_b").on("click", function(){ 
       $("#main_text").load("pageB2.html h2,h3,span,#hidden"); 
      }); 
     }); 

回答

1

这里是一个哈克,但工作液:

 $(function() { 
      $("#nav_b").on("click", function(){ 
       var pageB = '', pageB2 = ''; 
       var $mainText = $("#main_text"); 
       $mainText.load("pageB.html h2,h3,span,#hidden", function() { 
        pageB = $mainText.html(); 
        $mainText.html(pageB + pageB2); 
       }); 
       $mainText.load("pageB2.html h2,h3,span,#hidden", function() { 
        pageB2 = $mainText.html(); 
        $mainText.html(pageB + pageB2); 
       }); 
      }); 
     }); 
+0

这很好。哈克很好,因为我刚刚开始。我有大约30多页(pageB3,pageB4等),所以我可以玩这个,看看我能做些什么。 – Chris

+0

这是不正确的答案,因为它将覆盖加载pageB2时第一次调用加载的HTML。记得!它的AJAX(异步) – Patel

+0

@Patel是的,但请注意它在加载到pageB变量后保存HTML的内容。无论页面返回的时间如何,内容都将按顺序显示。 – robvdv

0

load当第二次调用返回时覆盖内容。你不能使用例如jQuery.get()

示例(未测试)。这里的数据被附加到目标元素。

$(function(){ 
    $("#nav_b").on("click", function(){ 
     $.get("pageB.html h2,h3,span,#hidden", function(data) { 
       $("#main_text").append(data); 
     }); 
     $.get("pageB2.html h2,h3,span,#hidden", function(data) { 
       $("#main_text").append(data); 
     }); 
    } 
}); 
+0

我是新来的编码和我昨天获悉jQuery的负载。我会研究.get()。我很感激帮助。 – Chris