2016-09-02 4 views
0

Ich kann nicht herausfinden, warum die Methode im folgenden Beispiel nicht funktioniert. Ich kann nicht feststellen, warum ich "I am new outer div" Text nicht sehen kann. Im Folgenden ist der Code:Jquery: kann nicht herausfinden, warum prependTo Methode von Jquery in diesem Beispiel nicht funktioniert

<!DOCTYPE html> 
<html lang="en"> 
<head> 
    <meta charset="UTF-8"> 
    <script src="https://code.jquery.com/jquery-1.12.3.min.js"></script> 
    <script src="js/script.js"></script> 
    <script type="text/javascript"> 
    $(function(){ 
    var $newDiv = $("<div></div>") 
    .text("I am new outer div") 
    .attr("style","color:red"); 

     var $innerDiv = $("<div></div>"); 
     $innerDiv.attr("style","color:green") 
     .text("I am new inner Div"); 

    var $finalDiv = $innerDiv.prependTo($newDiv) 

     $("div").append($finalDiv) 
    }) 
    </script> 
</style> 
</head> 
<body> 
<span></span> 
<div id="div1" title="My DIV1">DIV1</div> 
<div id="div2" title="MY DIV2">DIV2</div> 
<h1></h1> 
</body> 
</html> 

Hier finden Sie die Ausgabe:

DIV1 
I am new inner Div 
DIV2 
I am new inner Div 

Ich werde Ihre Hilfe zu schätzen wissen. Vielen Dank.

+0

Check this .. https://jsfiddle.net/naveencgr/41kvncno/ – CNKR

+0

Ich bin mir nicht sicher, was eigentlich zu tun versuchen, aber wenn Sie möchte den Inhalt von newDiv vor innerDiv setzen und dann .append anstelle von appendTo verwenden – DinoMyte

Antwort

0

Try this:

$("div").append($newDiv); 

Die .prependTo() Methode gibt einen Verweis auf das, was Sie wurden vorangestellt, so dass sowohl Ihre $finalDiv und $innerDiv auf die innere div beziehen. So $("div").append($finalDiv.parent()) würde auch funktionieren, aber Sie brauchen die Variable $finalDiv überhaupt nicht: die Variable $newDiv setzt fort, sich auf die äußere div zu beziehen, selbst nachdem Sie Dinge dazu vorziehen, und die $innerDiv Variable bezieht sich weiterhin auf die innere sogar nach ihm ist vorangestellt.

Im Kontext:

$(function(){ 
 
    var $newDiv = $("<div></div>") 
 
    .text("I am new outer div") 
 
    .attr("style","color:red"); 
 

 
    var $innerDiv = $("<div></div>"); 
 
    $innerDiv.attr("style","color:green") 
 
    .text("I am new inner Div"); 
 

 
    $innerDiv.prependTo($newDiv) 
 

 
    $("div").append($newDiv) 
 
})
div { border: thin black solid; padding: 5px; margin: 2px; }
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script> 
 
<div id="div1" title="My DIV1">DIV1</div> 
 
<div id="div2" title="MY DIV2">DIV2</div>

Verwandte Themen