2010-11-23 23 views
0

我正在將數據從一個頁面的某個部分拖入另一個頁面以構建菜單。我需要將數據提取到一個隱藏的元素或變量中,因爲現在我最終得到了一個重複的菜單。我的動態飛行和靜態<ul><li>的。菜單是由這些建立的。將JQuery .load()轉換爲變量或隱藏元素

這是我到目前爲止有:

<script type="text/javascript"> 
$(document).ready(function(){ 
    $('div.ms-quickLaunch').replaceWith('<div id="hierarchy" style="border:solid 1px white; width:0px; visibility:hidden"></div>'); 
    }); 

$(function(){ 
      $('#hierarchy').load('http://wwcshare/icenter/Pages/wwcMenuContent.aspx #menuContent', 
       function(){ 
        $(this).menu({ 
         autoShow: true, 
         content: $(this).html(), 
         backLink: false, 
         crumbDefaultText: ' ' 
        }); 
       });   
      }); 
</script> 

這工作,只是我的菜單不再得到放在屬於它的地方。它位於頁面的頂部,而不是在#hierarchy div的旁邊。


下面是根據答案的我的一個備用嘗試:

$(function(){  
      $.get('http://wwcshare/icenter/Pages/wwcMenuContent.aspx', function(data){ // grab content from another page 
       contentIwant = data.find("#menuContent"); 
       $('#hierarchy').menu({ 
        autoShow: true, 
        content: contentIwant, 
        backLink: false, 
        crumbDefaultText: ' ' 
       }); 
      }); 
     }); 

回答

5

一個$獲得()會適合您的目的,而不是一個$ .load()更好

使用$獲得(),您可以加載到

頁面之前處理數據
+0

除了`$ .get()`不能獲取站點的特定部分,是否正確? – 2010-11-23 20:19:09

3

不要緊,要裝載到的元素是否隱藏或不。如果它存在於DOM中,那麼你可以加載它。

要麼確保元素通過CSS第一隱藏:

#element{display:none;} 

隱藏使用jQuery的元素時,你的內容加載到它:

$('#holder').hide().load('mypage.php'); 

希望這有助於你這個人!

W.