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>
4

2 回答 2

2

查看源代码显示您的机器下载的文件的源代码,即。任何 AJAX 更改之前的文件。无论您在 Javascript 中做什么,视图源都不会改变(当然,除非您转到新页面)。

如果您想查看当前 DOM 如何查找您的页面,您需要使用像 Firebug 或 IE Developer 工具栏这样的工具。

于 2009-12-09T19:18:30.393 回答
0

实际上,您不需要 Firefox 中的 Firebug,但 firebug 是一个很棒的工具。选择您认为应该更改的字段,右键单击并选择“查看选择源”(仅限 Firefox)。

于 2009-12-10T08:46:12.770 回答