JavaScript - append() 不是附加按钮,而是文本

标签 javascript appendchild

例子:

var buttonHTML = "<button>MyButton</button>";
document.getElementById("myDiv").append(buttonHTML);

在这种情况下,该函数最终将文本附加到 div 中。

但是,如果我对 JQ 做同样的事情:

$("#myDiv").append(buttonHTML);

在这种情况下,它实际上会附加按钮。 现在,由于各种原因,我不得不使用纯 JS(而不是 JQ)。

有人有什么想法吗?

最佳答案

我不确定它是如何与你一起工作的,并在此处附加元素作为文本,因为纯 JS 中没有 .append 函数

但我同意@Sam Judge said in his answer ,并且还想提一下,您可以使用 javascript 来完成它,而无需使用 javascript 函数一个一个地创建节点 Element.insertAdjacentHTML()

insertAdjacentHTML() parses the specified text as HTML or XML and inserts the resulting nodes into the DOM tree at a specified position. It does not reparse the element it is being used on and thus it does not corrupt the existing elements inside the element. This avoiding the extra step of serialization make it much faster than direct innerHTML manipulation.

还有另一个选项可以使用 .innerHTML 执行相同的操作但可以肯定的是,您需要保存已经在里面的内容才能实现追加效果。

关于JavaScript - append() 不是附加按钮,而是文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41334830/

相关文章:

javascript - 记录的数据更改时更新绑定(bind)到公式的 ExtJS 按钮

javascript - 提交使用 jQuery 和 AJAX 动态插入页面的表单?

appendChild 方法的 Javascript 效率提升

Javascript .appendChild(tableA) 将表格移动到单个单元格中。

javascript - 无法向表中添加新行

javascript - 具有类别的项目数组到具有项目的类别

javascript - 使用jquery在栏内淡入淡出

javascript - 我的代码有什么问题吗?缓慢改变div的颜色

javascript - 附加控件的 CSS

javascript - appendChild() 不适用于 Chrome。可能无法解释为 JavaScript