107

ボタンをクリックするたびにjqueryを使用して最初の要素としてdivを追加したい

<div id='parent-div'>
    <!--insert element as a first child here ...-->

    <div class='child-div'>some text</div>
    <div class='child-div'>some text</div>
    <div class='child-div'>some text</div>

</div> 
4

8 に答える 8

179

関数を試してください$.prepend()

使用法

$("#parent-div").prepend("<div class='child-div'>some text</div>");

デモ

var i = 0;
$(document).ready(function () {
    $('.add').on('click', function (event) {
        var html = "<div class='child-div'>some text " + i++ + "</div>";
        $("#parent-div").prepend(html);
    });
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>

<div id="parent-div">
    <div>Hello World</div>
</div>
<input type="button" value="add" class="add" />

于 2010-12-24T19:02:17.990 に答える
21

@vabhatiaが言ったことを拡張すると、これはネイティブJavaScript(JQueryなし)に必要なものです。

ParentNode.insertBefore(<your element>, ParentNode.firstChild);

于 2015-06-16T08:48:27.520 に答える
7

使用:jquery.comの.prependドキュメントを$("<p>Test</p>").prependTo(".inner"); 確認してください

于 2014-02-12T09:47:27.470 に答える
6
parentNode.insertBefore(newChild, refChild)

ノードnewChildを、既存の子ノードrefChildの前にparentNodeの子として挿入します。(newChildを返します。)

refChildがnullの場合、子のリストの最後にnewChildが追加されます。同等に、そしてより読みやすく、parentNode.appendChild(newChild)を使用します。

于 2014-05-14T04:36:46.060 に答える
2
parentElement.prepend(newFirstChild);

これは(おそらく)ES7に新しく追加されたものです。おそらくjQueryで人気があるため、現在はバニラJSになっています。現在、Chrome、FF、Operaでご利用いただけます。トランスパイラーは、どこでも利用できるようになるまでそれを処理できるはずです。

PS文字列を直接追加できます

parentElement.prepend('This text!');

リンクdeveloper.mozilla.org-ポリフィル

于 2017-05-08T00:26:01.197 に答える
0

ここで必要

<div class="outer">Outer Text <div class="inner"> Inner Text</div> </div>

によって追加

$(document).ready(function(){ $('.inner').prepend('<div class="middle">New Text Middle</div>'); });

于 2015-08-05T07:57:38.160 に答える
-1

$(".child-div div:first").before("Your div code or some text");

于 2014-03-11T11:51:00.343 に答える
-1
$('.parent-div').children(':first').before("<div class='child-div'>some text</div>");
于 2014-03-14T09:50:11.457 に答える