2012-02-02 113 views
0

我使用jquery加載index.html的菜單鏈接外部網頁上有功能 - 關於jQuery來加載外部網頁中DIV

function about() {jQuery('#container').load('about.html');} 

我使用的每個子頁上的jQuery函數來從數據XML。顯然,我在index.html上調用jquery一次,並使用相同的孩子,它的工作方式不同。當我單擊它時,清空#container,但沒有外部文件數據。但是,當我雙擊菜單選項卡,然後我看到的數據。我真的迷失了,需要幫助才能弄清楚自己做錯了什麼。這裏 hashworld.com.au/test/test.html我已經上傳的代碼,請看看

+0

如何以及在哪裏調用about()函數?你可以在小提琴中發佈一些代碼嗎? – fcalderan 2012-02-02 13:36:36

+0

我們需要看到更多的代碼。什麼是XML文件?菜單上的點擊事件是什麼?加載函數中的html文件路徑是否正確? – Jon 2012-02-02 13:36:48

+0

索引頁面有一個菜單鏈接 - About和我已經定義的函數爲 - \t function about(){jQuery('#container')。load('about.html');}它將about.html加載到容器中id相同的index.html頁面。它工作正常,如果我在每個子頁面上調用jquery,但是如果從子頁面中移除並且只在index.html中調用一次,它不起作用。我不得不點擊兩次才能看到結果。 – Drozzy 2012-02-02 13:39:14

回答

0

在rules.html嘗試改變這一點:

<script src="js/xmlConfig.js"></script> 
<script> 
    function parseXml(xml){ 
     $(xml).find("rules").each(function(){ 
     $(xml).find("rule").each(function(){ 
      var rule = $(this).text(); 
      $('<li></li>').html(rule).appendTo('.content ul'); 
     }); 
     }); 
    } 
</script> 

...這個:

<script> 
$(document).ready(function() 
{ 
    $.ajax({ 
    type: "GET", 
    url: "xml/global_webconfig.xml", 
    dataType: "xml", 
    success: parseXml 
    }); 

    function parseXml(xml){ 
     $(xml).find("rules").each(function(){ 
     $(xml).find("rule").each(function(){ 
      var rule = $(this).text(); 
      $('<li></li>').html(rule).appendTo('.content ul'); 
     }); 
     }); 
    } 

}); 

</script> 
+0

是的,我已經更新了相同的頁面,現在它工作正常。哇噢!但我有10多頁使用相同的XML,我不想一次又一次加載XML。你能告訴如何在索引頁面上加載一次xml腳本。請參閱www.hashworld.com/test/test.html,因爲我已更新頁面 – Drozzy 2012-02-02 14:39:56

+0

我對其他頁面使用相同的xml,並且想要一次又一次地爲所有頁面加載xml。你能建議如何在主頁面上調用它1次,而在單擊菜單選項卡時加載的子頁面也是如此。 www.hashworld.com/test/test.html – Drozzy 2012-02-02 14:45:50

+0

您的第一個問題已得到解答,因此您應該創建一個新問題......這樣您就有更多機會獲得答案;因爲更多的人會看到它...... – PrimosK 2012-02-02 14:59:20