在哪里可以找到jstree jquery插件图像?

在哪里可以找到jstree jquery插件图像?,jquery,image,jstree,Jquery,Image,Jstree,我正在试用jstree,jquery插件来创建treeview。它工作得很好,但我无法了解它的一些内部工作原理。有一件(似乎)简单的事情让我非常困扰:文件夹图标等的图像从哪里来?我的意思是,即使我没有定义主题,结果中的文件夹仍然有默认图标。如果我把主题改成苹果,图标就会改变。但我不知道这些图像来自哪里。我本希望在主题css文件中找到对它们的引用,但我没有 如果有人能解释这一点,最好给我指出它们,以及如何引用和更改它们,我将不胜感激!具体来说,我希望能够更改图标,以便一个图标用于关闭的文件夹,另一

我正在试用jstree,jquery插件来创建treeview。它工作得很好,但我无法了解它的一些内部工作原理。有一件(似乎)简单的事情让我非常困扰:文件夹图标等的图像从哪里来?我的意思是,即使我没有定义主题,结果中的文件夹仍然有默认图标。如果我把主题改成苹果,图标就会改变。但我不知道这些图像来自哪里。我本希望在主题css文件中找到对它们的引用,但我没有


如果有人能解释这一点,最好给我指出它们,以及如何引用和更改它们,我将不胜感激!具体来说,我希望能够更改图标,以便一个图标用于关闭的文件夹,另一个图标用于打开的文件夹。

jsTree将核心CSS注入页面,如果您查看源代码,您将看到它……默认情况下,它使用默认主题,并查找相对于
.js
位置的图像

您可以在这里的源代码中看到它正在这样做

在源代码中,您还可以看到各种插件设置图标,只需浏览源代码中的
url(
)即可查看所有这些发生的位置


至于图像本身,主题图标总是有一个名为
d.png
的图像文件,所有图标都从这里拉出来,这是一个,例如,让我们看看苹果图标:

.jstree-apple ins { background-image:url("d.png"); background-repeat:no-repeat; }
对于每个
元素,它都会设置背景,然后对于各种类型的节点,它只会调整精灵贴图的位置,例如:

.jstree-apple .jstree-open > ins { background-position:-72px 0; }
.jstree-apple .jstree-closed > ins { background-position:-54px 0; }
.jstree-apple .jstree-leaf > ins { background-position:-36px 0; }

这就是CSS精灵的工作原理,你可以使用一个图像并查看其中的一小部分…不同的图标是一个图标大小的相同小部分,只是从图像中的不同位置开始。

好的,谢谢,回答得好。还有关于精灵的信息。至少我在js中找到了你提到的部分。但我仍然不知道如何制作更改。因为即使图标的大小等在js中设置,苹果css仍然必须来自苹果主题,对吗?因此,如果我在apple\style.css中进行更改,我希望事情会发生变化。但我甚至可以注释掉整个apple\style.css,但仍然没有任何更改,即使我重新加载页面以删除任何缓存信息。。@Anders-听起来你可能有一些缓存问题……或者你可能在错误的位置编辑了css的副本?themes文件夹应该在
jquery.jstree.js
文件旁边,是这样吗?我发现了问题所在,我只是将css文件包含在我的VS项目中,但没有确保有same文件夹结构(themes/apple/style.css),这就是为什么更改没有更新页面!谢谢你的回答,它让我走上了正确的轨道。