【发布时间】:2019-05-15 01:33:28
【问题描述】:
我正在制作一个用于选择和取消选择标签的反应组件。为此,希望标签显示在表格中,旁边有一个复选框。 我的问题是我无法设置它的文本部分,当通过 javaScript 创建它们时。既不通过innerHTML 也不通过innerText。它显示在检查器中,但不在我的浏览器 (Chromium) 中。
到目前为止,我的方法是这样的:
generateTagTable() {
let tbl = document.getElementById('tagTable')
tbl.className = 'tagTable'
let tbdy = document.createElement('tbody')
for (let i = 0; i < this.allTags.length; i++) {
let tr = document.createElement('tr')
let td = document.createElement('td')
let div = document.createElement('div')
let cb = document.createElement('input')
div.className = 'checkContainer'
cb.id = 'checkTd'
cb.type = 'checkbox'
cb.innerText = 'Tag'
div.appendChild(cb)
td.appendChild(div)
tr.appendChild(td)
tbdy.appendChild(tr)
}
tbl.appendChild(tbdy)
}
结果如下:
我知道我可以通过这样做来实现我的目标:
generateTagTable() {
let tbl = document.getElementById('tagTable')
tbl.className = 'tagTable'
let tbdy = document.createElement('tbody')
for (let i = 0; i < this.allTags.length; i++) {
let tr = document.createElement('tr')
let td = document.createElement('td')
td.className = 'checkContainer'
td.innerHTML = '<div class="flexcenter"><input type="checkbox" name="tagCheck"/>' + this.allTags[i] + '</div>'
tr.appendChild(td)
tbdy.appendChild(tr)
}
tbl.appendChild(tbdy)
}
但这给我在尝试分配 onclick 时留下了问题,并且通常让我感觉控制较少。
工作的结果是这样的,而我想要实现的是:
【问题讨论】:
标签: javascript html dom innerhtml innertext