【问题标题】:JS / insert created dom tagJS / 插入创建的 dom 标签
【发布时间】:2018-10-21 02:41:38
【问题描述】:

我正在尝试将由 js 创建的 div 元素插入到 dom 中,似乎无法使其正常工作......我错过了什么?

html

<div id="someID"></div>

js

    function addElementals(element, parent)
{
    someId.insertBefore(element.parent);
    }
    let newElemental = document.createElement('div');
    newElemental.setAttribute('id', 'user_name');
    newElemental.innerHTML = "i'm from jupiter";

    let referencePoint = document.getElementById('someId');
    addElementals(newElemental, referencePoint);

我有什么遗漏吗?

【问题讨论】:

  • someId != someID - 另外,我不会指望 ID 被暴露为 window 的属性这一事实,因为如果您有一些声明 someID = 'a chicken'; 的代码,那么您的假设将失败......始终使用.getElementById.querySelector
  • also element.parent ... 仅指传入的 element 元素没有名为 parent 的属性
  • 检查了代码,我想你可能想要parent.parentElement.insertBefore(element, parent);

标签: javascript dom makefile element


【解决方案1】:

您需要将您的 AddElementals 函数和 someId 更改为以下内容:

function addElementals(element, parent)
{
//to add at end of parent
parent.appendChild(element);
//to add at beginning of parent
//parent.insertBefore(element,parent.childNodes[0]);
}

let newElemental = document.createElement('div');
newElemental.setAttribute('id', 'user_name');
newElemental.innerHTML = "i'm from jupiter";

//and someID must be exactly same as your html ID. As @Jaromanda X mentioned someID!=someId
let referencePoint = document.getElementById('someID');
addElementals(newElemental, referencePoint);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-10-05
    • 2015-10-15
    • 1970-01-01
    • 2014-05-24
    • 1970-01-01
    • 2013-03-23
    • 2019-01-24
    • 1970-01-01
    相关资源
    最近更新 更多