如何在我刚刚在DOM上呈现的块之后插入一个html块

时间:2010-09-20 02:56:11

标签: javascript jquery dom

我正在构建一个围绕客户端上特定元素的嵌套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'之后

任何帮助将不胜感激。 感谢。

2 个答案:

答案 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);