jQueryUIアコーディオンリーフにコンテンツを動的にロードする関数を作成しています。私が持っている別の動作中のAJAXローダーから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関数全体を単純なaddクラスに置き換えたのですが、それでも機能せず、セレクターでも壊れたため、リンクは問題ではありません。
編集:
これは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>