如何在jquery中添加或删除矩阵行?

问题描述 投票:0回答:1

我已经通过使用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 **
jquery html
1个回答
0
投票

作为解决此问题的替代方法,我认为您可以将矩阵的任何单元格设置为数据行,将另一个属性设置为data-col。每一个的值是矩阵的行数和列数。

所以单元格元素将像(例如):

<input data-row="4" data-cel="3" type="number"/>

因此,任何时候您想要删除一行,玩具都可以删除具有相同“数据行”属性的所有节点。例如:

$("[data-row=4]").remove();

那个$(“ [data-row = 4]”)获得其中所有属性“ data-row”具有值4的所有元素并将其删除。

很抱歉,您发布的代码对我来说还不太清楚。

© www.soinside.com 2019 - 2024. All rights reserved.