2
语境
我有一个文件夹和文件树视图:树视图递归更新
其他信息
- 所有文件和文件夹可以拖动和投掷的。
- 文件夹有
.pft-directory
通用类和#/folder1/folder2/etc
ID。 - 文件有
.pft-file
泛型类和files/folder1/folder2/etc/fileName.ext
href。 - 文件和空文件夹是
<li><a>text of file/folder</a><li>
。 - !空文件夹另外还有
<ul><li><a>text of subfolder</a></li>...etc...</ul>
。
问题
每个拖放后,我更新的文件夹的ID和文件的href。显然,当一个文件夹不是空的时候变得更加复杂,并且有多个子文件夹迭代。我写了2次迭代(请参见下面的代码)。
问题
你能帮我写一个DOM递归阅读功能?
代码
//the first folder
ui.draggable.find('a.pft-directory:first').attr('id', $path_Ite1);
//inside the first folder...
ui.draggable.find('ul:first > li > a').each(function() {
var $this_Ite1 = $(this);
//if file, else folder
if ($this_Ite1.hasClass('pft-file')) {
$this_Ite1.attr('href', 'files' + $path_Ite1 + '/' + $this_Ite1.text());
}
else {
var $path_Ite2 = $path_Ite1 + '/' + $this_Ite1.text();
$this_Ite1.attr('id', $path_Ite2);
//inside the second folder...
$this_Ite1.parent().find('ul:first > li > a').each(function() {
var $this_Ite2 = $(this);
if ($this_Ite2.hasClass('pft-file')) {
$this_Ite2.attr('href', 'files' + $path_Ite2 + '/' + $this_Ite2.text());
}
else {
var $path_Ite3 = $path_Ite2 + '/' + $this_Ite2.text();
$this_Ite2.attr('id', $path_Ite3);
//inside the third folder etc...
}
});
}
});
感谢您的帮助。我期待并尝试你的功能。 –
它没有我的网页上工作,那么我修改剧本一点点,但没有成功。下星期三我会更加认真地看待。不管怎样,谢谢你。 –