你好这个我得到的文件名中的每个ine,并且我在其上创建了超链接但是foldername缺少进一步操作我的代码
<script type="text/javascript">
$(document).ready(function(){
var files=<?php echo json_encode($files);?>;
var file_tree=build_file_tree(files);
file_tree.appendTo('#files');
function build_file_tree(files){
var tree=$('<ul>');
for(x in files){
if(typeof files[x]=="object"){
var span=$('<span>').html(x).appendTo(
$('<li>').appendTo(tree).addClass('folder')
);
var subtree=build_file_tree(files[x]).hide();
span.after(subtree);
span.click(function(){
$(this).parent().find('ul:first').toggle();
});
}else{
$('<li>').html('<a href="/admin/appearance/?theme='+tree+'&file='+files[x]+'">'+files[x]+'</a>').appendTo(tree).addClass('file');
}
}
return tree;
}
} );
</script>
我想在theme =
之后找到文件夹名称答案 0 :(得分:0)
变量tree
是从$('<ul>')
返回的jQuery DOM对象,您无法将其连接成字符串。我猜你会尝试获取innerHTML或父元素的文本。请考虑以下HTML:
<ul id="upper"> <!-- `tree` you're talking about -->
<li class="folder">folder-name</li>
<ul id="here"> <!-- `tree` you're talking about -->
<li>file-name-1</li>
<li>file-name-2</li>
</ul>
</ul>
我们说你的循环现在是#here
。您的文件夹名称很可能是从父<li class="folder">
;
<ul id="upper">
返回的
var tree = $('#here');
alert(tree.parent().find('.folder').text());
因此,您可以将theme='+tree+'&
替换为theme=' + tree.parent().find('.folder').text() + '&
。但是,您应该适当地设置id
和class
以正确遍历DOM树。然后,您必须使用正确的类/ id通过正确的DOM遍历来获取文件夹名称。
你的问题不明确。所以我的回答可能无法立即解决,但我希望你可以从中得到一个想法。