我使用
创建了server.use(express.static(path.resolve(__dirname, '../public')));
server.use(multer({storage}).array('image', 12));
server.use(bodyParser.urlencoded({ extended: false }));
server.use(bodyParser.json());
server.use('/', router);
li
这是我传入的字符串的模板:
static make(string, el) {
var wrapper= document.createElement((el || 'div'));
wrapper.innerHTML = string;
return wrapper.firstChild;
}
static makeLi(string) {
return this.make(string, "ul");
}
使用此
传递给函数的位置return `
<li class="truer-companion">
<a class="truer-companion-link" href="${url}">${this.escapeHTML(title)}</a>
${Vote.form_container(article_id)}
</li>
`;
引发错误
static createVoteForms(el) {
console.log(el);
let foo = (el || document).getElementsByClassName("bar");
但在其他地方,我没有使用参数运行Error in event handler for (unknown): TypeError: (el || document).getElementsByClassName is not a function
它可以正常工作。
当我记录createVoteForms
时,输出为el
,但其属性类似于对象。
答案 0 :(得分:2)
当我记录el时,输出是#text但是具有类似对象的属性。
DOM有许多不同类型的节点。
当您致电createElement
时,您会创建一个元素节点。
您传递给createVoteForms
的值是文本节点。这是文本在DOM中的表示方式。 (如果你有一个<p>
但没有办法把文字放在里面,那就不会有多大帮助!)。
文本节点没有getElementsByClassName
方法(因为文本节点不能包含其他节点)。