查看源时,附加数据似乎没有标记

时间:2009-12-09 17:05:48

标签: javascript codeigniter jquery jquery-ui-accordion

我有一个网站上有一些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>

2 个答案:

答案 0 :(得分:2)

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

如果您想了解当前DOM如何查找您的页面,您需要使用Firebug或IE Developer工具栏等工具。

答案 1 :(得分:0)

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