所以,我有这个代码:
function popAreaTree() {
var tree = $("ol.tree");
var list1 = tree.children('li');
var list2 = list1.children('ol').children('li');
$(tree).on('click', $(this).children('li').children('a'), function(e, i) {
console.log($(this).text());
$(this).parent('li').toggleClass('open', 300);
});
$.ajax({
url: '../admin/callbacks/jsonDataList.php',
data: {t: 'zoneandarea'},
dataType:"json",
async: false,
global: false,
success: function(j, status) {
for(var i = 0;1 < j.length; i++) {
var li = tree.append('<li class="zone"><a href="#">'+j[i].name+'</a></li>');
var areas = '';
$.each(j[i].areas, function(i, item) {
areas += '<li class="area" data-area-uid="'+item.uid+'">'+item.name+'</li>';
});
$(areas).insertAfter(li.closest('a')); // This is the problem
}
}
});
}
它基本上只是创建一个文件树。ajax 发布到一个 php 页面,该页面输出一个 json 数组,每个结果中还有一个数组。它是这样的:
array('name'=>name, 'uid'=>uid, areas=>array('name'=>name, 'uid'=>uid))
我只需要知道如何在li对象中的a标签上执行 insertAfter 。