在最后一个孩子之前追加

Box*_*iom 16 html javascript jquery append

我有一个带ID的div wrapper,我.append()用来在div的末尾插入一些内容,如下所示:

$("#wrapper").append('<div class="content"><div class="subcontent">Some stuff</div></div>');
Run Code Online (Sandbox Code Playgroud)

但是,我还希望选择在包装器中的最后一个div 之前插入一个新子content节点.

因此,如果HTML输出如下所示:

<div id="wrapper">
    <div class="content">
        <div class="subcontent">
            First
        </div>
    </div>
    <div class="content">
        <div class="subcontent">
            Second
        </div>
    </div>
</div>
Run Code Online (Sandbox Code Playgroud)

我想在最后一个元素之前插入一个元素,所以我得到了这个:

<div id="wrapper">
    <div class="content">
        <div class="subcontent">
            First
        </div>
    </div>
    <div class="content">
        <div class="subcontent">
            Third
        </div>
    </div>
    <div class="content">
        <div class="subcontent">
            Second
        </div>
    </div>
</div>
Run Code Online (Sandbox Code Playgroud)

我该怎么做?

Sci*_*ter 23

您可以使用.before()在元素之前添加兄弟:

$("#wrapper .content:last").before('<div class="content"><div class="subcontent">Third</div></div>');
Run Code Online (Sandbox Code Playgroud)

.insertBefore() 使用不同的语法执行相同的操作,即选择要添加的元素,然后传递要添加的元素.

$("#wrapper .content:last").before('<div class="content"><div class="subcontent">Third</div></div>');
Run Code Online (Sandbox Code Playgroud)
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<div id="wrapper">
    <div class="content">
        <div class="subcontent">
            First
        </div>
    </div>
    <div class="content">
        <div class="subcontent">
            Second
        </div>
    </div>
</div>
Run Code Online (Sandbox Code Playgroud)


Ror*_*san 9

您可以使用insertBefore()

$('<div class="content"><div class="subcontent">Some stuff</div></div>').insertBefore('#wrapper > div:last');
Run Code Online (Sandbox Code Playgroud)

或者before()

$('#wrapper > div:last').before('<div class="content"><div class="subcontent">Some stuff</div></div>');
Run Code Online (Sandbox Code Playgroud)