我正在编写一个函数来动态加载带有内容的 jQuery UI 手风琴叶子。我知道(认为)AJAX 部分可以工作,因为我从另一个工作的 AJAX 加载程序中取出它,但是整个功能不起作用。
编码:
function load_leaf(link){
var link = link;
$.ajax({
cache : false,
type : 'POST',
async: false,
url : 'includes/'+ link +'.php?'+ new Date().getTime(),
dataType : 'text',
data: {
owner : '$user_id'
},
success: function(msg){
$("#" + link).html(msg);
console.log('Can\'t see me in Chrome, but ok in firefox !')
},
error: function() {
console.log($.makeArray(arguments));
},
complete: function() {
console.log($.makeArray(arguments));
}
});
};
$(function(){
$('.accordian').click(function(){
var link = this.getAttribute("link");
load_leaf(link);
});
});
无论出于何种原因,这都行不通。断点似乎是这一行
$("#" + link).html(msg);
特别是选择器,因为硬编码的选择器可以完美地工作。链接变量已正确填充我知道这一点,因为我可以正确地提醒该值。链接不是问题,因为我用一个简单的添加类替换了整个 ajax 函数,但它仍然不起作用,它也在选择器处损坏。
编辑:
这是 php 打印的 div:
<h3 class="accordian" id="'.$tab_id.'" link="'.$tab_link.'" >
<a href="#">'.$tab_name.'</a>
</h3>
<div id="'.$tab_link.'"><p>Hi</p></div>
第一个的html是:
<h3 class="accordian" id="accordian_manage.php" link="accordian_manage.php" ><a href="#">Manage Images</a></h3><div id="accordian_manage.php"><p>Hi</p></div>