我想制作一个HTML元素数组。我尝试了以下方法:
array.push(<tr>);
array.push(<input type="text">);
array.push(/tr);
正确的方法是什么?
答案 0 :(得分:3)
根据您要执行的操作,可以使用以下选项之一:
array.push('<tr><input type="text"></tr>')
。document.createElement()
创建的DOM元素中。当您想要将其插入到DOM之后时,这很有用。例如:var el = document.createElement('tr');
var child = document.createElement('input');
child.setAttribute('type', 'text');
el.appendChild(child);
array.push(el);
有关document.createElement()
的更多信息,请参见MDN Docs。
答案 1 :(得分:2)
有几种解决方法。
第一种方法是将标签存储为字符串:
array.push("<tr><input type='text'></tr>");
或者,三个不同的字符串。
第二种方法是实际创建一个HTML元素并添加它。例如:
let te = document.createElement('tr');
let ti = document.createElement('input');
input.type = 'text'; //the syntax might be slightly different here
te.appendChild(ti);
这实际上不是数组,但这是一个相似的概念。如果您想将该元素放在身体上,可以使用:
document.body.appendChild(te);
答案 2 :(得分:2)
可能的是,只需通过添加引号将数据视为字符串即可。
var array = [];
array.push('<tr>');
array.push('<input type="text">');
array.push('</tr>');
console.log(array);