簡體   English   中英

無法使用 DOM 獲取子元素

[英]Can't get child element with DOM

我的代碼如下所示:

function myFunction(result) {
    var json = JSON.parse(result)
    var jsonKeys = Object.keys(json)
    var items = document.getElementById("items");
    var adds = items.getElementById("add");
    clearA()
    var i;
    for (i = 0; i < jsonKeys.length; i++) {
        var btn = document.createElement("BUTTON");
        console.log(jsonKeys[i]);
        btn.innerHTML = jsonKeys[i]
        btn.setAttribute("id", jsonKeys[i]);
        btn.onclick = function() { run(this.id); }
        items.appendChild(btn)
    }
     
    
}

我可以獲取項目並使用它們,但是當我嘗試獲取子元素“添加”時,我得到items.getElementById is not a function

這是 html:

<div id="items">
    <div id="add">
        <input type="submit" value="add" onclick="foo(add)">
    </div>
</div>

將其更改為:

  var items = document.getElementById("items");
  var adds = document.getElementById("add");

由於 id 在文檔中是唯一的,因此只有document.getElementById存在。 您可以使用items.querySelector('#id') ,但這可能是一個更大問題的表現,其中您對多個元素具有類似的 HTML 結構,並且具有重復的 id。 在這種情況下,建議您切換到類並使用items.querySelector('.classname')

暫無
暫無

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

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