Javascript jsTree图标不显示
我有一棵树。树的渲染正确,我得到一大堆节点,如下所示:Javascript jsTree图标不显示,javascript,jstree,Javascript,Jstree,我有一棵树。树的渲染正确,我得到一大堆节点,如下所示: <li id="aaaa" data-level="2" data-wiid="bbbb" data-itemid="aaaa" data-witype="Tasks" class="jstree-leaf"> <ins class="jstree-icon"> </ins> <a hre
<li
id="aaaa"
data-level="2"
data-wiid="bbbb"
data-itemid="aaaa"
data-witype="Tasks"
class="jstree-leaf">
<ins class="jstree-icon"> </ins>
<a href="#" class="">
<ins class="jstree-icon"> </ins>
Some Node Text
</a>
</li>
/* IE6 BEGIN */
.jstree-default li,
.jstree-default ins,
#vakata-dragged.jstree-default .jstree-invalid,
#vakata-dragged.jstree-default .jstree-ok,
#jstree-marker.jstree-default { _background-image:url("d.gif"); }
.jstree-default .jstree-open ins { _background-position:-72px 0; }
.jstree-default .jstree-closed ins { _background-position:-54px 0; }
.jstree-default .jstree-leaf ins { _background-position:-36px 0; }
.jstree-default a ins.jstree-icon { _background-position:-56px -19px; }
#vakata-contextmenu.jstree-default-context ins { _display:none; }
#vakata-contextmenu.jstree-default-context li { _zoom:1; }
.jstree-default .jstree-undetermined a .jstree-checkbox { _background-position:-20px -19px; }
.jstree-default .jstree-checked a .jstree-checkbox { _background-position:-38px -19px; }
.jstree-default .jstree-unchecked a .jstree-checkbox { _background-position:-2px -19px; }
/* IE6 END */
这似乎不起作用。没有为我的jsTree设置图标。当我在chrome的开发者工具中查看Sources选项卡时,它甚至没有加载图像
有人能看出我哪里做错了吗
更新 我发现图标实际上正在加载,但它们被设置为隐藏在css中
.jstree-default a ins.jstree-icon {
display: none;
}
如果我在开发工具中切换此样式,就会出现图标。我一定是错过了一个场景什么的
有人有什么想法吗
更新
我仅限于使用JStree1.0-rc3,我相信您使用的是旧版本的jsTree。我建议您获取新的语法,并使您的代码适应它的新语法。我通过遵循它的文档,很快就让它工作了 以下是工作示例: 您需要更改类型定义: JS
'types': {
'Tasks': {
'icon': 'iconfile.png'
}
}
HTML
<li data-jstree='{"type":"Tasks"}'> </li>
我最终通过更新CSS解决了这个问题。
styles.css
文件有一个如下标记的部分:
<li
id="aaaa"
data-level="2"
data-wiid="bbbb"
data-itemid="aaaa"
data-witype="Tasks"
class="jstree-leaf">
<ins class="jstree-icon"> </ins>
<a href="#" class="">
<ins class="jstree-icon"> </ins>
Some Node Text
</a>
</li>
/* IE6 BEGIN */
.jstree-default li,
.jstree-default ins,
#vakata-dragged.jstree-default .jstree-invalid,
#vakata-dragged.jstree-default .jstree-ok,
#jstree-marker.jstree-default { _background-image:url("d.gif"); }
.jstree-default .jstree-open ins { _background-position:-72px 0; }
.jstree-default .jstree-closed ins { _background-position:-54px 0; }
.jstree-default .jstree-leaf ins { _background-position:-36px 0; }
.jstree-default a ins.jstree-icon { _background-position:-56px -19px; }
#vakata-contextmenu.jstree-default-context ins { _display:none; }
#vakata-contextmenu.jstree-default-context li { _zoom:1; }
.jstree-default .jstree-undetermined a .jstree-checkbox { _background-position:-20px -19px; }
.jstree-default .jstree-checked a .jstree-checkbox { _background-position:-38px -19px; }
.jstree-default .jstree-unchecked a .jstree-checkbox { _background-position:-2px -19px; }
/* IE6 END */
通过注释掉CSS的整个部分,图像开始如预期的那样出现
我只能使用旧版本的jsTree,但至少我不需要支持IE6 谢谢你的回答。不幸的是,我必须使用已经部署的版本。我已将版本信息添加到问题中,然后将
.jstree default a ins.jstree-icon{display:initial!important}
添加到css中作为解决方法,并尽可能进行升级