Javascript 选中jquery文件树突出显示

Javascript 选中jquery文件树突出显示,javascript,jquery,html,css,filetree,Javascript,Jquery,Html,Css,Filetree,我正在实现一个jQueryFileTree()作为文件浏览器,并希望用户单击的每个文件或目录保持高亮显示。我知道这可以使用简单的JavaScript或CSS来完成,但我对源代码的理解还不够透彻,不知道如何或在何处实现突出显示。有人能给我指出正确的方向吗?好的,你可以使用点击处理程序捕获点击,并使用添加类 $('.thing-i-will-click-on').click(function() { $(this).addClass('selected'); }); 还可以使用类似的方法删除类

我正在实现一个jQueryFileTree()作为文件浏览器,并希望用户单击的每个文件或目录保持高亮显示。我知道这可以使用简单的JavaScript或CSS来完成,但我对源代码的理解还不够透彻,不知道如何或在何处实现突出显示。有人能给我指出正确的方向吗?

好的,你可以使用
点击
处理程序捕获点击,并使用
添加类

$('.thing-i-will-click-on').click(function() {
  $(this).addClass('selected');
});
还可以使用类似的方法删除类

$('.selected').removeClass('selected');

把这两件事结合起来应该会给你想要的结果。

所以经过一点修补,我让它工作了

$('#your_filelist_id').fileTree({
  root: '/',
  script: '/connectors/jqueryFileTree.php'
}, function(file) {
  var flist = $('#your_filelist_id a[rel="' + file + '"]');
  if(flist.hasClass('selected')) {
    flist.removeClass('selected');
  }
  else {
    flist.addClass('selected');
  }
});
首先,您必须进入jqueryFileTree.js并从以下内容修改第80行:

h($(this).attr('rel'));
致:

这将返回单击的对象,而不是文件名。要获取.fileTree定义中函数(file)中的文件名,必须使用:

file.attr('rel');
现在您有了对象,可以在函数(文件)中使用它来突出显示代码。(选定的是我创建的更改背景颜色的CSS类)


正确的。但是,如果您熟悉jquery filetree源代码,则不清楚在何处添加单击函数或“selected”class@Eroth您不会将其添加到FileTree源中。您可以在自己的代码中运行它。
file.attr('rel');
$(".selected").removeClass('selected');
file.addClass('selected');