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