【问题标题】:How to remove all `input` elements which are lager then this one who calls the function?如何删除所有大于调用该函数的“输入”元素?
【发布时间】:2019-05-28 05:47:28
【问题描述】:

我正在尝试删除所有 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);
}

【问题讨论】:

  • 请提供足够的代码让我们重现该问题,minimal reproducible example。您可以使用Stack Snippets 来执行此操作。为此,除了足够的 JavaScript 之外,我们还需要 HTML 来理解这种情况。例如,order_input 是什么?请注意,您可能不希望在要调用parseInt 的字符串中有空格;所以用“”代替“输入”,而不是“”。
  • 所以我希望它会更清楚。 @HereticMonkey
  • 我已经多次阅读您的问题,但不知道您要做什么或为什么,更不用说问题所在了。
  • 我想从我的身体中移除元素。当我开始编辑例如第一个。我想删除 3 和 2 input。 @艾米
  • 仍然没有看到任何 HTML,也没有看到这些函数是如何被调用的。看起来英语可能不是您的主要语言;尝试找一个说英语更好的人来帮助你可能是值得的。您使用的短语“我如何删除特定的直到一个数字”和“直到这个被点击”在英语中没有什么意义。

标签: javascript html dom


【解决方案1】:

我不得不使用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();
    }

祝你们晚安。
谢谢你的帮助。重新聚焦;)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-04-06
    • 1970-01-01
    • 2019-11-18
    • 2011-01-30
    相关资源
    最近更新 更多