如何删除所有大于此调用函数的输入元素?

时间:2019-05-27 20:57:27

标签: javascript html dom

我正在尝试删除所有input元素,直到for loop重新获得触发该函数的方式。

问题,我可以使用remove从dom中删除它吗? 第二个问题是可以选择“类别”,以便我删除/删除它? 它们都具有相同的classname

我创建新的INPUT并将ID插入ARRAY

function child_input(element) {
  if (order_input.length-1 == 2) {
    alert("ritch lenght")
    return false;
  }
  if (order_input.length-1 >= 2) {
    alert("Fail!!")
  }
  element = document.createElement('input');
  element.type = "number";
  element.classList.add('dropNew');
  element.id = "input"+counter+"";
  element.onmouseleave = function mouseLeave() {
    if (element.value != "") {
      element.readOnly = true;
      element.classList.add('unWriteable');
      element.onmouseleave = false;
      child_input();
      element.addEventListener('dblclick', function() {
        element.classList.remove('unWriteable');
        element.readOnly = false;
        element.onmouseleave = function() {
          //hier würde ich immer den input(child) vorigen löschen...
          mouseLeave();
          removeChild_input(this.id);
        }
      });
    }
  }
  document.querySelector('.Main_Div').append(element);
  order_input.push(element);
  counter++;
}

可能有点难以理解! 如果我现在dbclick这四个input中的一个(例如第二个),我希望删除以下输入。 (必须删除4,3)。

  //hold the oldest, and remove all child
    let delete_item = document.querySelector('#'+ id);
    let num_id = id.replace("input", " ");
    num_id = parseInt(num_id);

    for (var i = order_input.length-1; i >= num_id; i--) {
      order_input.slice(-1);
      order_input.pop();
      document.querySelector(".dropNew")[i].remove();
    }
    console.log(order_input.length-1);
}

1 个答案:

答案 0 :(得分:0)

我不得不使用document.querySelectorAll('+class+')[i].remove()

整个功能..
删除,直到触发功能的输入为止。

for (var i = order_input.length-1; i >= num_id; i--) {
      order_input.slice(-1);
      order_input.pop();
      document.querySelectorAll(".dropNew")[i].remove();
    }

祝大家晚安。
谢谢。重新聚焦;)