【问题标题】:How to get the id of the button where the user clicked?如何获取用户点击的按钮的id?
【发布时间】:2021-09-07 02:04:43
【问题描述】:

我正在尝试获取用户单击的按钮的 ID,但它返回未定义。 这是我的代码:

let btnvot = document.createElement('button');
btnvot.className = "btn btn-primary spacing";
btnvot.innerText = "Voter";
btnvot.id = doc.id;
btnvot.onclick = addvote();

function addvote(){
alert(this.id);
}

但是当页面加载它的时候在弹出框里面写undefined

有人可以帮我吗?

【问题讨论】:

  • 使用event.currentTarget.id
  • btnvot.onclick = addvote;

标签: javascript html dom button


【解决方案1】:

如果您正在尝试使用 HTML。也许你可以试试这个

<button id="id1" onClick="displayBtnId(this.id)">Button 1</button>
<button id="id2" onClick="displayBtnId(this.id)">Button 2</button>
<button id="id3" onClick="displayBtnId(this.id)">Button 3</button>
    
<script>
  function displayBtnId(clickedBtnid)
  {
      alert(clickedBtnid);
  }
</script>

【讨论】:

    【解决方案2】:

    试试这个:

    let btnvot = document.createElement('button');
    btnvot.className = "btn btn-primary spacing";
    btnvot.innerText = "Voter";
    btnvot.id = "abc";
    btnvot.onclick = addvote;
    
    function addvote() {
      alert(this.id);
    }
    
    document.body.appendChild(btnvot);

    【讨论】:

    • 如果事件被正确调用,this 将指向元素本身。不需要 e.target.id;
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-07-22
    • 1970-01-01
    • 2011-06-17
    • 1970-01-01
    • 2019-01-21
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多