javascript - 如何选择新添加的元素并进行编辑?

标签 javascript html

我有一个 <a>元素:

<a id='addNewElementk' onclick='//Some Js Code' class='continueButton'>Click To Add</a>

当这个 anchor 被点击时,一个新的元素被添加:

<a href="" class="continueButton">New Added Element</a>

第一个被点击的 anchor 被移除。

我想选择那个新元素。

我试过:

window.onload = function(){
    var newElem = document.getElementsByClassName('continueButton')[1];
    alert(newElem.innerHTML);
}

我正在使用 ('continueButton')[1] , 因为还有一个 input在该 anchor 之前具有相同的类。

但我肯定会得到 Click To Add从第一个开始,因为这是在加载页面时发现的。

那么我该如何选择那个新元素呢?

最佳答案

您正试图在元素存在于 DOM 中之前选择该元素。

您需要在第一个 <a> 的点击事件处理程序中运行该代码,像这样:

window.onload = function() {
  document.querySelector('#addNewElementk').addEventListener('click', function(e) {
    e.preventDefault();
    var a = document.createElement('a');
    a.textContent = 'New Added Element';
    a.href = '#';
    a.classList.add('continueButton');
    a.addEventListener('click', function(e) {
      console.log(a.innerHTML);
    });    
    
    this.parentNode.insertBefore(a, this);
    this.remove();
  });
}
<a id='addNewElementk' href="#" class='continueButton'>Click To Add</a>

注意 addEventListener() 的使用过时on*应避免的事件属性。

关于javascript - 如何选择新添加的元素并进行编辑?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50043453/

相关文章:

javascript - 为什么不认为这种纯函数的实现具有外部依赖性?

javascript - JavaScript 中 getelementbyid 的多个 if-or 语句

javascript - Grunt 不会处理 lesscss 文件

使用正则表达式的 html 输入字段摆脱文件名的无效字符

javascript - 限制在 Angular 中输入小数以外的任何内容

javascript - VS 代码 : check whether the file explorer is shown?

javascript - 计算结果未显示在总计表 javascript 中

php - HTML5 Audio Element "src = get.php 不能跳过位置

android - 一般来说;我应该对网站进行哪些更改以使其对 ipad/iphone/android 友好

javascript - 单击单选按钮时下拉列表不会禁用