我正在构建一个围绕客户端上特定元素的嵌套div的块。我最初使用jQuery的.wrap()来获得块的第一部分工作正常。但是现在我想在我包装的元素之后附加结束块,我发现我不能将它附加到任何东西,因为它们都是同时创建的。我尝试使用insertAfter(),但我不希望它成为我正在包装的元素的兄弟,我希望它是在它的父元素之后。
这是我的代码:
$(document).ready(function() {
buildShadows('#section');
});
function buildShadows(element){
$(element).wrap("<div class='section_shadow_wrapper'><div class='section_shadow_curve'><div class='section_shadow_outer'><div class='section_shadow_inner_left'><div class='section_shadow_inner_right'>");
$("<div class='section_shadow_bottom_left'><div class='section_test_bottom_right'>").insertAfter(element);
}
我要做的是将第二部分的第一个元素(section_shadow_bottom_left)附加为'section_shadow_inner_right'的兄弟,但是在'element'之后
任何帮助将不胜感激。 感谢。
答案 0 :(得分:1)
您应该只能遍历刚刚创建的新父级。
你试过这个吗?
function buildShadows(element){
$(element).wrap('<div class="section_shadow_wrapper clearfix"><div class="section_shadow_curve"><div class="section_shadow_outer"><div class="section_shadow_inner_left"><div class="section_shadow_inner_right">')
.parent().after('<div class="section_shadow_bottom_left"><div class="section_test_bottom_right">');
}
答案 1 :(得分:0)
尝试遍历原始元素的下一个兄弟,并在其上使用.insertBefore()
。
var nextsibling = $(element).next();
//Wrap code
$("<div class='section_shadow_bottom_left'><div class='section_test_bottom_right'>").insertBefore(nextsibling);