javascript - 为什么 prepend 方法会从它实际所在的位置删除 HTML

标签 javascript jquery html css

我有一个 KeyBoard 插件,我正在尝试对其进行编辑。所以为了改变插件的布局,我想让它覆盖全屏。我正处于这个过程的开始,所以我想从底部删除 HTML 代码,然后将它们粘贴到文档的 body 元素的正下方。这样,我将利用屏幕属性和位置属性。像这样

$('#vboard').css('width', screen.width);
$('#vboard').css('position', 'absolute');

等等

我做了什么

我使用了 prepend 方法,将其附加到 body 元素子元素的顶部。这是我的代码

var vbrd = $('#vboard');
/* Paste it inside the HTML directory */
$('body').prepend(vbrd);

我的预期

我所期望的是,它只会创建 body 元素的一个新节点(子节点),并将 HTML 保留在它最初所属的 body 元素中。我使用的是 ASP.NET 网页,所以每个页面都是在

<div> <!-- Inside the body element -->
  <!--Here-->
</div>

发生了什么

事情是这样的

enter image description here

发生的事情是,当我试图这样做时,它被应用到 body 上。但与此同时,它从放置它的元素中删除了 HTML 节点。

这是预期的吗?因为我到处搜索,它告诉我也使用 .remove() 方法来删​​除元素。但在这个场景中不需要。

最佳答案

是的。这是预期的。

Prepend 把元素放在你告诉它放的地方,元素不能同时在两个地方。

它不会克隆它。 clone()

关于javascript - 为什么 prepend 方法会从它实际所在的位置删除 HTML,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23551163/

相关文章:

javascript - 在 Scroll 上移动 Div,然后停留在那里(水平粘条)

html - Mozilla Firefox 显示图片的不同位置

javascript - 防止页面产生更多对话

javascript - 如何计算 JavaScript 数组的数量并获得这样的输出?

javascript - 获取 JQuery ajax 请求进度的最干净的方法是什么?

javascript - 如何检查 Google 发布商标签广告位是否为空?

javascript - 如果图像已经加载,如何传递 .load() ?

javascript - 使用 Crypto.JS 解密 AES 加密的二进制文件

javascript - 页面自动滚动到 HTML 的特定元素

javascript - 在 Nodejs 中加载 HTML 文件