簡體   English   中英

如果我知道名稱,如何從按鈕獲取ID-javascript

[英]How to get id from a button if I know the name - javascript

我有一些按鈕,具有相同的名稱anOldFile ,我想獲取它們的ID,如果我單擊, anOldFile獲取innerHTML 我認為這是一個好的開始,但是如果這很好,我不知道如何繼續:

    document.getElementsByName('anOldFile').addEventListener('click', changeOffCanvasContent(this));

    function changeOffCanvasContent(e) {
         //???
    }

getElementsByName()返回一個節點列表時,您需要迭代事件處理程序並將其綁定到每個元素,並僅傳遞函數引用。

document.getElementsByName('anOldFile').forEach(function (elem) {
    elem.addEventListener('click', changeOffCanvasContent);
});

這將上下文設置this到調用的事件元素

function changeOffCanvasContent(e) {
    console.log(this.id);
    console.log(e.target.id);
}

你那里有幾個問題。 所有getElementsByName拳頭都返回節點元素的數組,因此您必須向其中的每個添加addEventListener 其次,您正在錯誤地注冊eventListener函數。 您不應在addEventListener中調用處理程序函數,而應傳遞處理程序名稱。 在函數定義中,您可以按以下方式通過引用目標元素來獲取元素:

完成該工作的整個代碼段應如下所示:

var elements = document.getElementsByName('anOldFile');

function changeOffCanvasContent(e) { console.log(e.target.innerHTML); console.log(e.target.id); }

for(var i = 0; i< elements.length-1; i++){ elements[i].addEventListener('click', changeOffCanvasContent); }

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM