我通过使用div元素创建了一个矩阵,该元素包含一些p标签,每个p标签都有一些输入。现在,我想编辑此矩阵并添加或删除一些列或行。我上网冲浪,并在Jquery中找到了remove()命令。但是当我不断添加和删除一些行时,我会遇到一些麻烦。你有什么主意吗?
//instruction of my matrix:
var d = document.createElement("div")
dmatid = 'a'
d.setAttribute('id', dmatid)
for (var i = 0; i < rows; i++) {
var p = document.createElement("p")
for (var j = 0; j < cols; j++) {
var pp = document.createElement("input")
pp.type = "number"
pp.value = eval(mat.childNodes[i].childNodes[j].value)
p.appendChild(pp)
}
d.appendChild(p)
}
// the code to remove some rows of the matrix:
if (newrow < oldrow) {
for (var i = newrow; i < oldrow; i++) {
$("#" + dmatid + " p").last().remove()
}
}
// the code to add some rows to the matrix:
else if (newrow > oldrow) {
for (var i = oldrow; i < newrow; i++) {
var drow = document.createElement("div")
for (j = 0; j < mats[d].colnum; j++) {
var p = document.createElement("input")
drow.appendChild(p)
}
document.getElementById(dmatid).appendChild(drow)
} ** strong text **
答案 0 :(得分:0)
作为解决此问题的替代方法,我认为您可以将矩阵的任何单元格设置为数据行,将另一个属性设置为data-col。每个值是矩阵的行数和列数。
因此单元格元素将类似于(例如):
<input data-row="4" data-cel="3" type="number"/>
因此,任何时候您想要删除一行,玩具都可以删除具有相同“数据行”属性的所有节点。 例如:
$("[data-row=4]").remove();
$(“ [data-row = 4]”)获得其中所有属性“ data-row”具有值4的所有元素并将其删除。
很抱歉,您发布的代码对我来说还不清楚。