gpt4 book ai didi

jquery - 换行分离 append 按顺序不 append

转载 作者:行者123 更新时间:2023-12-01 03:15:17 29 4
gpt4 key购买 nike

为了有效地进行一些 DOM 操作,我分离了一个元素。在这个过程中,我遇到了一个有趣的情况:

var $holder = $("#d");
var $wrapper = $("<div>").css("border","1px solid red");
$holder.wrap($wrapper);
$holder.detach();
$wrapper.append($holder);
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div id="d">a</div>

其中包含字母“a”的 div 被带有红色边框的 div 包裹。然后带有字母“a”的div被分离。然后包装 div append 分离的“a”。然而,字母“a”再也没有出现。

我错过了什么?我做错了什么?我怎样才能找回“a”?

最佳答案

wrap() 动态创建一个 HTML 结构并将其插入到 DOM 中,这就是为什么像这样的东西:

$(element).wrap('<div><span></span></div>')

有效,因此变量 $wrapper 与 wrap() 实际创建和插入的元素不同,因此您必须再次从 DOM 获取该元素:

var $holder = $("#d");
var $wrapper = $('<div />', {style:'border:1px solid red;', id:'wrapper'});
$holder.wrap($wrapper);
$holder.detach();
$('#wrapper').append($holder);

FIDDLE

来自 documentation :

The .wrap() function can take any string or object that could be passed to the $() factory function to specify a DOM structure. This structure may be nested several levels deep, but should contain only one inmost element. A copy of this structure will be wrapped around each of the elements in the set of matched elements. This method returns the original set of elements for chaining purposes.

关于jquery - 换行分离 append 按顺序不 append ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16844739/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com