如何将字体可怕的CSS嵌入DOM脚本(javascript)?
在这里,javascript使用DOM脚本生成浏览器显示的最后一行:“无找到”。假设我想将一个“标志性人物”与fontawesome(fontawesome)并列,例如,他们的笑脸,就在单词“Finds”之后 我试着把这根绳子楔住:如何将字体可怕的CSS嵌入DOM脚本(javascript)?,javascript,css,dom,font-awesome,Javascript,Css,Dom,Font Awesome,在这里,javascript使用DOM脚本生成浏览器显示的最后一行:“无找到”。假设我想将一个“标志性人物”与fontawesome(fontawesome)并列,例如,他们的笑脸,就在单词“Finds”之后 我试着把这根绳子楔住: <i class = 'fa fa-smile-o'></i> 以下是我添加的内容-失败: newrow = makeEle({ tag: "tr", dom: [makeEle({ tag: "td", id: "tdWhere", do
<i class = 'fa fa-smile-o'></i>
以下是我添加的内容-失败:
newrow = makeEle({ tag: "tr", dom: [makeEle({ tag: "td", id: "tdWhere", dom: [document.createTextNode("No Finds<i class = 'fa fa-smile-o'></i>")] })] });
将类设置为
fa-smile-o
var i = document.createElement("i");
i.className = 'fa fa-smile-o';
由于字体标记是HTML而不是简单的文本,因此
document.createTextNode
函数将无法工作。因此,您必须使用makeEle
来创建i
标记节点。下面是代码的样子(为了可读性,我将其拆分为多行):
注意td
的dom
数组内部的额外makeEle
调用
请参见尝试了你的代码Michal,但对我无效。这是我的makeEle代码(我继承了它,不能说我理解它):它可能会因为这个注释编辑器函数makeEle(p){e=document.createElement(p.tag);if(p.id)e.id=p.id;//if(p.className)e.className=p.className;var a=p.attr |{};for(a中的var I){e.setAttribute(I,a[I])//var s=p.style{;for(var i in s){e.style[i]=s[i]}var h=p.handler |{};for(var i in h){e[i]=h[i]}var d=p.dom |[];for(var i=0;我是的,我更新了我的答案。它现在应该可以工作了!更改是使
class
beclassName
。干杯!对不起-最后一件事你需要修复。行if(p.name)e.className=p.className;
被注释掉。您需要去掉该行前面的/
,使其成为活动代码。请参阅我的JSFIDLE以获得一个工作演示!是的!谢谢!!Michal,您让我取消注释的p代表什么?p
是表示传递到Makele的对象的变量
函数。因此,在调用makeEle
来创建i
元素的情况下,p是{tag:“i”,className:“fa-fa-smile-o”}
。您取消注释的那一行将返回值的类名设置为通过p
@ruffy传入的类名。请更新您的问题,从注释中读取代码非常困难。
newrow = makeEle({ tag: "tr", dom: [ makeEle({ tag: "td", dom: [document.createTextNode(" No Finds "), makeEle({ tag: "i", className: "fa fa-frown-o" }) ] }) ] });
var i = document.createElement("i");
i.className = 'fa fa-smile-o';
newrow = makeEle({
tag: "tr",
dom: [
makeEle({
tag: "td",
id: "tdWhere",
dom: [
document.createTextNode("No Finds"),
makeEle({
tag: "i",
className: "fa fa-smile-o"
})
]
}),
]
});