我有一个网站上有一些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 :(得分:2)
查看源代码显示机器下载的文件的源代码,即。任何AJAX更改之前的文件。无论你在Javascript中做什么,在视图源中都不会改变任何东西(除非你去一个新的页面)。
如果您想了解当前DOM如何查找您的页面,您需要使用Firebug或IE Developer工具栏等工具。
答案 1 :(得分:0)
实际上你并不需要来自Firefox的Firebug,但是firebug是一个很棒的工具。选择你认为应该更改的字段,右键单击并选择“查看选择源”(仅限Firefox)。