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

时间:2019-09-25 22:03:40

标签: jquery html

我通过使用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 **

1 个答案:

答案 0 :(得分:0)

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

因此单元格元素将类似于(例如):

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

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

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

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

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