2009-12-09 17 views
0

我有一個網站上有一些AJAX,基本上用戶點擊一個鏈接,一些AJAX去,並觸發一個方法,返回一些HTML如下所示,作爲標題說,返回的數據似乎沒有進入HTML,這就是爲什麼我的手風琴沒有被製作?這是奇怪的結果正在返回,因爲它們放到我的屏幕上。附加數據似乎沒有在標記時查看源

$(document).ready(function() { 
    // hides the main_menu as soon as the DOM is ready 
    // (a little sooner than page load) 
    $('#main_menu').hide(); 
     // shows the slickbox on clicking the noted link 
     $('h3#show-menu a').click(function() { 
       $('#main_menu').toggle('slow'); 
        return false; 
     }); 
//try and hide the left content when it is null 
    $("#left-content:empty").hide(); 
    //style up the scroll bar 
     $('#left-content').jScrollPane(); 

     //do some AJAX to call the method instead of the browser 
     $("a.navlink").click(function (ev) { 
      $(this).toggleClass("active"); 
      ev.preventDefault(); 
      var id = $(this).attr("id") 
      if ($(this).hasClass("active")) { 
       $("."+id).remove(); 
      } 
      else { 
      //$(this).toggleClass("active"); 
        var url = $(this).attr("href"); 
        $.ajax ({ 
         url: url, 
         type: "GET", 
         success : function (html) { 
          $("#accordion").append(html); 
          $('#accordion').accordion({ 
           active: 0, 
           header:'h2' 
          }); 
          //alert(accordion()) 
         } 
        }); 
      } 
     }); 
    }); 

正如我相信你可以從代碼集,返回的HTML被追加到<div id="accordion>,然後將其「關」進一個手風琴,然而這沒有發生,我得到的是獲得類添加到將提供手風琴功能的div,但我沒有得到真正的功能。

我注意到,當我查看源代碼時,無論AJAX是否已經觸發,即使我能看到返回的數據,<div id="accordion>中也沒有內容,我怎麼才能讓手風琴起作用?

=======什麼得到由AJAX ======返回

?php 
if(isset($content)) { 
// var_dump($content); 
    foreach($content as $row) { 
     print "<h2 class='$row[category_name]'><a href='#'>$row[category_name]</a></h2>"; 
     print "<div class='$row[category_name]'>$row[content_title]</div>"; 
    } 
} 
?> 

=========凡AJAX HTML去====== ===

<div id="right-content"> 
    <div id="accordion"></div> 
</div> 
+0

您在瀏覽器中看到的HTML源不會實時更新,它是瀏覽器在加載頁面時得到的內容。要查看「實時」HTML,您需要使用螢火蟲或類似的工具。 – 2009-12-09 17:10:45

+0

你是什麼意思?「這是奇怪的結果返回,因爲他們把我的屏幕上。」?您是否看到網頁上發生了某些事情,或者您是否正在使用某種工具監控請求? – 2009-12-09 17:11:34

+0

這回答這個問題firebbug顯示正確的HTML,然後有什麼理由,我的問候不起作用呢? – Udders 2009-12-09 17:14:59

回答

2

查看源代碼顯示了您的機器下載的文件的源代碼,該文件在任何AJAX更改之前。無論你在Javascript中做什麼,在視圖源代碼中都不會有任何改變(除非你去了一個新的頁面)。

如果您想了解當前DOM如何查找頁面,則需要使用Firebug或IE Developer工具欄等工具。

+0

FF網頁開發人員工具欄提供了「查看實時源」選項,該選項是當時DOM的視圖源樣式表示。有時候很有用,但是和Firebug一樣酷。 – 2009-12-09 22:43:23

+0

+1你也可以 - >選擇你認爲應該改變的區域,右鍵點擊並選擇「查看選擇源」 – 2009-12-10 08:46:59

+0

「有時很有用,但無處像Firebug一樣酷」我認爲總結了Web開發人員的工具欄; - ) – machineghost 2009-12-10 17:11:28

0

其實你並不需要Firefox的Firebug,但螢火蟲是一個了不起的工具。選擇你認爲應該改變的區域,右鍵點擊並選擇「View Selection Source」(僅限Firefox)。

相關問題