不能向新包装的元素追加jquery元素
Cannot append jquery element to newly wrapped element
我想在已经存在的div周围包装一个div,然后附加到新创建的父div。
// create parent
var $top = $('<div id="top">top</div>');
// wrap it around child
$('#middle').wrap($top);
// append to new parent
$top.append('<div id="bottom">bottom</div>');
下面是显示追加不起作用的jsfiddle ....
http://jsfiddle.net/3WRDc/2/应该是这样的:
http://jsfiddle.net/3WRDc/1/你知道为什么这么简单的操作序列不起作用吗?我知道我可以很容易地从父元素开始,然后附加两个子元素,但在这个例子中,我需要用这种特殊的方式。
wrap()克隆您指定的包装器。文档说(强调我的):
.wrap()
函数可以接受任何字符串或对象传递给$()
工厂函数以指定DOM结构。这结构可以嵌套几个层次,但应该只包含一个最里面的元素。该结构体的副本将被包裹匹配元素集合中的每个元素。这个方法返回用于链接的原始元素集。
您必须重新选择$top
:
$("#top").append('<div id="bottom">bottom</div>');
http://jsfiddle.net/3WRDc/4/
使用.insertAfter()
var $top = $('<div id="top">top</div>');
$('#middle').wrap($top);
$('<div id="bottom">bottom</div>').insertAfter('#middle');
相关文章:
- Jasmine-无法将元素追加到DOM
- 将复杂的 SVG 元素追加到选区
- 将同一个元素追加到两个下拉列表中只会导致最后一个元素被追加
- 将元素追加到同级元素
- jQuery向每个元素追加与if语句匹配的内容
- 将一个元素追加到另一个元素的子元素中
- 使用 jquery 将数据值从父元素追加到子元素
- 如何将元素追加到动态生成的元素
- 不能将元素追加到表单数据
- 将元素追加到调用createElement()函数的父级
- 可以't使用jQuery将元素追加到html中
- 如何提取json数据,并通过js为每个拆分元素追加
- 如何在JQuery中将元素追加到动态字段中
- 使用Javascript/jQuery将已存在的元素追加到DOM中
- 按相同顺序将数组元素追加到另一个数组
- 仅为第一个元素追加
- 无法't在Angularjs/Jquery中将span元素追加到数组对象中
- jQuery:将元素追加到inputfield并移除
- Chrome扩展:将元素追加到DOM中没有立即出现的新注入的元素中
- 限制元素追加的数量