Javascript 如何用字体图标替换dijit树中的图标?
我试图用字体“icons”来切换dijit树中的图标(特别是那些与dijitFolderClosed、dijitFolderOpened相对应的图标——应用于树中父节点的类)。当图标实际上是图像文件时,切换显示的图标很容易-我只需更改getIconClass()返回的类 然而,font awesome似乎通过插入伪元素来工作,而我在使用dijit时遇到了麻烦。图标节点是Javascript 如何用字体图标替换dijit树中的图标?,javascript,html,css,dojo,font-awesome,Javascript,Html,Css,Dojo,Font Awesome,我试图用字体“icons”来切换dijit树中的图标(特别是那些与dijitFolderClosed、dijitFolderOpened相对应的图标——应用于树中父节点的类)。当图标实际上是图像文件时,切换显示的图标很容易-我只需更改getIconClass()返回的类 然而,font awesome似乎通过插入伪元素来工作,而我在使用dijit时遇到了麻烦。图标节点是img元素,虽然某些方法看起来很有希望,但不适用于img标记,因为它们没有内容属性 有哪些好的选项可以让font Asome作为
img
元素,虽然某些方法看起来很有希望,但不适用于img
标记,因为它们没有内容
属性
有哪些好的选项可以让font Asome作为dijit树图标工作?看起来可能会像建议的那样弄乱
img
标记,或者我可以使用replaceChild()将img
图标元素替换为font-awesome可以应用的元素。有人能想出更好的解决方案吗?你需要覆盖你的dijit样式:在.dijitIcon*上设置背景图像:none
,在.dijit*内部类上设置显示:none
,然后在伪类之前添加内容
我已经在许多dijit上使用Sass完成了这项工作,这是dijit/form/ComboBox的一个示例。关键位是:
.dijitDownArrowButton {
&:before {
font-family:'FontAwesome';
content: '\f0d7';
}
.dijitArrowButtonContainer {
background-image: none;
}
.dijitArrowButtonInner {
display: none;
}
}
很好地解释了重写dijit类。而dijit主题覆盖教程是