jquery 不会将我的列表元素添加到动态注入的中列表
我实在不知道问题到底出在哪里。这是我的代码:
$(document).ready(function(){
$("#folderTree > li").live('click',function(){
var id = $(this).attr("id");
if($('#' + id).hasClass('folderClosed')){
$.ajax({
url: "libs/php/ajax/documents/treeHandler.php",
type: "POST",
cache: false,
dataType: "json",
data: "treeNode=" + id,
success: function(data){
$('#' + id).removeClass('folderClosed');
$('#' + id).addClass('folderOpen');
$('#' + id).after('<ul id="#' + id + '-list">');
$.each(data, function(){
var folder = '<li id=' + this.ID + ' class="folderClosed">' + this.folderName + '</li>';
$("#" + id + "-list").append(folder);
})
$('#' + id).after('</ul>');
}
})
}else{
$('#' + id).next("ul").remove();
$('#' + id).removeClass('folderOpen');
$('#' + id).addClass('folderClosed');
}
})
})
我正在构建一个基于 mysql 数据结构的文件夹树,它通过 ajax 作为 json 代码加载。到目前为止一切正常!
我唯一的问题是我的脚本无法将 var 文件夹添加到新注入的元素中。
Firebug 示例代码:
<ul id="folderTree">
<li class="folderOpen" id="1">100_Projektmanagement</li>
<ul id="#1-list"></ul>
<li class="folderClosed" id="3">200_Projektinitialisierung</li>
<li class="folderClosed" id="4">300_Voranalyse_Studien</li>
<li class="folderClosed" id="5">400_Konzepte</li>
</ul>
感谢帮助。
I really don't know where the fault is all about. Here is my code:
$(document).ready(function(){
$("#folderTree > li").live('click',function(){
var id = $(this).attr("id");
if($('#' + id).hasClass('folderClosed')){
$.ajax({
url: "libs/php/ajax/documents/treeHandler.php",
type: "POST",
cache: false,
dataType: "json",
data: "treeNode=" + id,
success: function(data){
$('#' + id).removeClass('folderClosed');
$('#' + id).addClass('folderOpen');
$('#' + id).after('<ul id="#' + id + '-list">');
$.each(data, function(){
var folder = '<li id=' + this.ID + ' class="folderClosed">' + this.folderName + '</li>';
$("#" + id + "-list").append(folder);
})
$('#' + id).after('</ul>');
}
})
}else{
$('#' + id).next("ul").remove();
$('#' + id).removeClass('folderOpen');
$('#' + id).addClass('folderClosed');
}
})
})
I'm building a folder tree based on mysql data structur wich are loaded through ajax as json code. So far everything works fine!
My only problem is that my script isn't able to add the var folder to the new injected element.
Firebug example code:
<ul id="folderTree">
<li class="folderOpen" id="1">100_Projektmanagement</li>
<ul id="#1-list"></ul>
<li class="folderClosed" id="3">200_Projektinitialisierung</li>
<li class="folderClosed" id="4">300_Voranalyse_Studien</li>
<li class="folderClosed" id="5">400_Konzepte</li>
</ul>
Help is appreciated.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您在这里错误地添加了带有 ID 的元素(不要将哈希添加到属性中,仅在创建选择器时):
总体上更有效的做法是这样做:
You're adding an element with an ID incorrectly here (don't add the hash to the attribute, only when making a selector):
A bit more efficient overall would be to do this: