html 如何在单击元素时获取元素的ID [复制]

f45qwnt8  于 2023-05-27  发布在  其他
关注(0)|答案(2)|浏览(237)

此问题已在此处有答案

onClick to get the ID of the clicked button(18回答)
4天前关闭。
我想创建一个函数来获取被点击的元素的ID。例如按钮

<button id="test" onclick="getElementId();"> Test </button>

我考虑过使用 this 来让函数运行

<script>
    function getElementId(){
    var x = document.getElementById(this).getAttribute('id');
    }
</script>

但是控制台一直在说 “Uncaught TypeError:无法读取HTMLButtonElement的getElementId((Index):83:48)处的null(正在阅读“getAttribute')”的属性。onclick((Index):80:52)"
我知道,this 返回空。

xu3bshqb

xu3bshqb1#

document.getElementById(this)将无法工作,您可以尝试与下面

function getElementId(obj){
  console.log(obj.id)
}
<button id="test" onclick="getElementId(this);"> Test </button>
vshtjzan

vshtjzan2#

getElementId函数中的this对象是否绑定到window对象或未定义,具体取决于stric模式选项。
将单击的this传递给getElementId函数。在函数内部,您可以使用参数来获取按钮的ID。

<button id="test" onclick="getElementId(this);"> Test </button>
<script>
    function getElementId(element){
        var x = element.getAttribute('id');
    }
</script>

相关问题