Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/89.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 为什么prepend方法会从HTML的实际位置删除它_Javascript_Jquery_Html_Css - Fatal编程技术网

Javascript 为什么prepend方法会从HTML的实际位置删除它

Javascript 为什么prepend方法会从HTML的实际位置删除它,javascript,jquery,html,css,Javascript,Jquery,Html,Css,我有一个键盘插件,我正在尝试编辑。所以为了改变插件的布局,我想让它覆盖整个屏幕。我正处于这个过程的开始阶段,所以我想从底部删除HTML代码,然后将它们粘贴到文档的主体元素的正下方。这样,我将使用屏幕属性和位置属性。像这样 $('#vboard').css('width', screen.width); $('#vboard').css('position', 'absolute'); 等等 我所做的 我使用了prepend方法,将其附加到body元素childs的顶部。这是我的密码 var v

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

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

我所做的 我使用了prepend方法,将其附加到body元素childs的顶部。这是我的密码

var vbrd = $('#vboard');
/* Paste it inside the HTML directory */
$('body').prepend(vbrd);
我所期望的 我所期望的是,它只会创建body元素的一个新节点(子节点),并将HTML保存在body元素最初所属的位置。我正在使用ASP.NET网页,因此每个网页都是在中创建的

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

怎么搞的? 事情是这样的

发生的事情是,当我试图这样做的时候,它被贴到了身体上。但同时,它从放置它的元素中删除了HTML节点

这是预期的吗?因为无论我在哪里搜索,它都会告诉我使用
.remove()
方法来删除元素。但是在这个场景中它不是必需的。

是的。这是意料之中的

Prepend将元素放在您让它放的地方,元素不能同时放在两个地方


它不会克隆它。是的。

这就是它在jQuery中的工作方式,在裸DOM API中的工作方式,以及两者都记录的方式。如果要插入副本而不是移动原件,请使用
$('body').prepend(vbrd.clone())

$('body')
!=<代码>$(“#正文”)。前者是
标记。后者是您的
。我知道,我正在使用ASP.NET,它将在div元素下创建元素。:)正是我们所说的
布局
:)我之所以提出这个问题,是因为你的问题有点让人困惑,你想在哪里添加一个节点。哦,对不起!如果它令人困惑,我必须删除它…我现在已经删除了,谢谢:)哦,现在它有意义了!:)谢谢你的澄清,兄弟:)