404 404

Design made in Germany

Deutsches Design

Problem mit DOM Manipulation


Design Magazin Design Agenturen Designer Design Weblogs Design Magazine Design Portale Design Communities Design Hochschulen Design Organisationen Design Ressourcen Design Shops Grafikdesigner Schriftdesigner Webdesigner Interfacedesigner Flashdesigner Motiondesigner Sounddesigner Fotodesigner 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19

Hi Leute,
ich möchte mit JavaScript einen Codeschnipsel per Klick einfügen. Undzwar mehrmals und hintereinander, also dass der nächste hinter dem letztem eingefügt wird.
Das Problem: Ich kann nach einem eingefügten DIV nichts mehr einfügen, weil das eingefügte DIV mit seiner ID anscheinend nicht im DOM auftaucht. Jedenfalls kann ich es mit dem jQuery Befehl $("#id") nicht ansprechen.

Das andere Problem: Die eingefügten DIVs werden nicht, wie im Stylesheet angegeben, angezeigt, sondern quasi ungestylet.

Konkret:
Es geht um ein Formular, wo man die Besetzung einer Band eintragen kann. Am Anfang hat man nur die Inputfelder für eine Person. Per Klick soll man dann immer eine Person hinzufügen können. Hier mein Ansatz mit der jQuery Bibliothek (Scriptaculous hatte das selbe ergeben):

[code]<script type="text/javascript">
var zahl = 1;

personadd = function(){
zahl = zahl + 1;
$("#person"+(zahl -1)).after('<div class="person'+zahl+'" class="person"><div class="name"><input name="name'+zahl+'"></div><div class="instrument"><input name="instrument'+zahl+'"></div></div>');
$("besetzung_zahl").attr({ value: zahl });
}
</script>[/code]

[code]<a href="#" onclick="personadd(); return false;">Person hinzufügen</a>
<input type="hidden" name="besetzung_zahl" id="besetzung_zahl" value="1" />
<div id="person1" class="person">
<div class="name"><input name="name1"></div>
<div class="instrument"><input name="instrument1"></div>
</div>[/code]


Deutsches Design: Problem mit DOM Manipulation

[code]$("#person"+(zahl -1))[/code]
muss die raute nicht weg?


Nee, das ist für die ID. Beim ersten Mal klappts ja auch, weil die ID ja im Quelltext bzw. im DOM vorhanden ist.


Hm, na toll. Jetzt habe ich den Fehler doch selbst gefunden =/

[code]<div class="person'+zahl+'" class="person">[/code]
muss heißen
[code]<div id="person'+zahl+'" class="person">[/code]

Jetzt geht auch das CSS =)

Danke für den Versuch, Frank. Entschuldigt die Störung.


dann versteh ich das hier nicht
[code]$("besetzung_zahl").attr[/code]

und
[code]<div class="person'+zahl+'"[/code]
muss hier nicht id anstatt class hin?


Jo, danke =)

Gut, dass du es sagst. Bei $("besetzung_zahl") fehlt das #...


Seitentitel: Problem mit DOM Manipulation