javascript - 无法将一个 div 插入另一个内部 div

标签 javascript html

我需要你的帮助来解决我遇到的问题。 我有这段代码:

<div id="div1" >
    <div id="edit1">
       hello
       <input type="button" id="b1" onclick="aaa()"/>
    </div>
</div>

我想使用插入到内部 div (id=edit1) 我生成的另一个新 div。

我试过类似的代码,但它没有运行:

js:
function aaa()
{
   var elem = createDivLine();
   var el1 = document.getElementById("div1");
   var el2 = el1.getElementById("edit1");
   el2.appendChild(elem);
}

function createDivLine()
{
   var tempDiv1 = document.createElement("div");
   tempDiv1.innerHTML = "Sam";
   return tempDiv1;
}

结果应该是这样的:

<div id="div1" >
    <div id="edit1">
       hello
       <input type="button" id="b1" onclick="createDivTable()"/>
       <div>"Sam"</div>
    </div>
</div>

JSFiddle:http://jsfiddle.net/KknXF/

最佳答案

由于 ID 是唯一的,因此尝试通过 ID 获取元素的子元素是无效的。

删除这一行:

var el1 = document.getElementById('div1');

并将以下行更改为:

var el2 = document.getElementById('edit1');

如果您有一些不可修复的(我永远无法拼写那个词...)损坏的 HTML,您不可能更改它,请尝试以下操作:

var el2 = document.querySelector("#div1 #edit1");

关于javascript - 无法将一个 div 插入另一个内部 div,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16084649/

相关文章:

javascript - 允许本地主机上的 cors

javascript - 简单赋值帮助 : Calling the function to pass it a parameter and to get its return value

javascript - 如何使用加载微调器作为 flutter web 应用程序的序言?

JavaScript 倒计时器在达到 1 天、1 秒、1 分钟时更改文本

html - PrimeNG Dialog 防止在第一个按钮上自动对焦

javascript - 从 JavaScript 中的名称-值对字符串中删除值

javascript - 从堆叠和分组柱形图的多个图中删除边框 (Highcharts.js)

javascript - 将 Google map 样式数组转换为 Google 静态 map 样式字符串

html - div 外部周围的空间

html - Border Transition Duration 仅适用于鼠标悬停,不适用于鼠标移开