javascript - 查看源代码时,附加数据似乎不在标记中

标签 javascript codeigniter jquery jquery-ui-accordion

我有一个带有一些 AJAX 的网站,基本上用户单击一个链接,一些 AJAX 会触发一个返回一些 HTML 的方法,如下所示,正如标题所说,返回的数据似乎并不存在正在进入 HTML,这就是我的 Accordion 没有被制作的原因吗?这很奇怪,因为结果被返回,因为它们输出到我的屏幕上。

$(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> 中。然后它被“变成” Accordion ,但是这并没有发生,我得到的只是添加到 div 中的类,这些类将提供 Accordion 功能,但我没有得到真正的功能。

我注意到,当我查看源代码时,无论 AJAX 是否已触发,<div id="accordion> 中都没有内容。即使我可以看到返回的数据,我怎样才能让 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>

最佳答案

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

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

关于javascript - 查看源代码时,附加数据似乎不在标记中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1875339/

相关文章:

php - 如何使用 mysql 数据库中的 X 和 Y 值设置 Highcharts 系列

php - 我的 codeigniter 验证码未生成图像

php - 如何将 Amazon s3 用作 Codeigniter 库?

javascript - 如何使用jquery删除靠近父级的相似HTML标签?

javascript - jQuery 切换最近的信息

javascript - gulp.watch "Arguments to path.resolve must be strings"上的 Gulp.js 错误

javascript - jS居中功能不适用于页面加载中的一个元素,只需调整大小

javascript - 从具有相同类名的不同输入字段获取值

javascript - document.GetElementById ("main").innerHTML = "testing"正在恢复,而不是永久更改

javascript - react : Passing functions as props