jQuery div in div mit id anhängen und manipulieren

Lesezeit: 2 Minuten

Benutzer-Avatar
pelelive

Nach 2 Stunden Suche entschied ich mich, meine Frage zu stellen.

Ich habe ein Div:

<div id="box"></div>

Ich möchte ein div innerhalb des obigen div mit jQuery hinzufügen.

Ich habe versucht (folgender Code ist in einer Funktion):

var e = $('<div style="display:block; float:left;width:'+width+'px; height:'+height+'px; margin-top:'+positionY+'px;margin-left:'+positionX+'px;border:1px dashed #CCCCCC;"></div>');
$('div', e).attr('id', 'myid');
$("#box").append(e);

Aber zugreifen $("#myid") funktioniert nicht.

Irgendeine Idee, wie man ein Div innerhalb eines Div hinzufügt und sie manipulieren kann?

Es ist einfach die falsche Reihenfolge

var e = $('<div style="display:block; float:left;width:'+width+'px; height:'+height+'px; margin-top:'+positionY+'px;margin-left:'+positionX+'px;border:1px dashed #CCCCCC;"></div>');
$('#box').append(e);    
e.attr('id', 'myid');

Zuerst anhängen und dann auf attr zugreifen/setzen.

  • Warum drei Codezeilen verwenden, wenn nur eine benötigt wird? Warum die ID nachträglich anhängen, wenn sie einfach direkt in den Quell-HTML eingefügt werden kann?

    – jfriend00

    27. Oktober 2011 um 6:46 Uhr

  • Ich versuche nur, das ursprüngliche Problem zu lösen, nicht, es zu verbessern.

    – Moe Süß

    27. Oktober 2011 um 21:29 Uhr

  • Ich hatte gehofft, dass das OP sehen würde, dass es einen verbesserten Weg gibt, dies zu tun.

    – jfriend00

    27. Oktober 2011 um 21:47 Uhr

Du verkomplizierst die Dinge zu sehr:

var e = $('<div style="display:block; float:left;width:'+width+'px; height:'+height+'px; margin-top:'+positionY+'px;margin-left:'+positionX+'px;border:1px dashed #CCCCCC;"></div>');
e.attr('id', 'myid');
$('#box').append(e);

Zum Beispiel: http://jsfiddle.net/ambiguous/Dm5J2/

Benutzer-Avatar
jfriend00

Warum nicht noch einfacher mit einer dieser Optionen:

$("#box").html('<div id="myid" style="display:block; float:left;width:'+width+'px; height:'+height+'px; margin-top:'+positionY+'px;margin-left:'+positionX+'px;border:1px dashed #CCCCCC;"></div>');

Oder, wenn Sie es an vorhandene Inhalte anhängen möchten:

$("#box").append('<div id="myid" style="display:block; float:left;width:'+width+'px; height:'+height+'px; margin-top:'+positionY+'px;margin-left:'+positionX+'px;border:1px dashed #CCCCCC;"></div>');

Hinweis: Ich habe die id="myid" direkt in den HTML-String, anstatt separaten Code zu verwenden, um ihn festzulegen.

Beide .html() und .append() jQuery-Methoden können eine HTML-Zeichenfolge verwenden, sodass kein separater Schritt zum Erstellen der Objekte erforderlich ist.

var e = $('<div style="display:block; id="myid" float:left;width:'+width+'px; height:'+height+'px; margin-top:'+positionY+'px;margin-left:'+positionX+'px;border:1px dashed #CCCCCC;"></div>');
$("#box").html(e);

1136950cookie-checkjQuery div in div mit id anhängen und manipulieren

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy