Thread jQuery: ID umbenennen (20 answers)
Opened by Froschpopo at 2008-01-04 12:27

Froschpopo
 2008-01-05 12:26
#104419 #104419
User since
2003-08-15
2653 Artikel
BenutzerIn
[default_avatar]
Struppi+2008-01-05 11:01:58--
wobei ich es seltsam finde eine ID umzubennen

ja, aber this gilt ja nur lokal für die Funktion! Ich brauche es aber global, damit ich in einer anderen Funktion auf die geänderte ID zugreifen kann.

ich finde es übrigens auch nicht so toll.
Schau dir mal das hier an:
Code: (dl )
1
2
3
4
5
6
<h2>Vereinsmitglied: Max Schuster</h2>
<ul>
<li id="cancel"><a href="#">Mitgliedschaft kündigen</a></li>
<li id="stop"><a href="#">Mitgliedschaft stoppen</a></li>
<li id="close"><a href="#">Mitgliedschaft sperren</a></li>
</ul>


Die einzelnen Links erzeugen einen Ajax-Request.
Jetzt will ich, dass wenn z.b. "Mitgliedschaft stoppen" gewählt wird, dieses ersetzt wird durch: "Mitgliedschaft fortsetzen".

Hier mal ohne Ajax:
Code: (dl )
1
2
3
4
5
6
7
8
9
$("stop a").click(function() {
var parent_id = this.parentNode.id;
$('#'+parent_id).html('<a href="#">Mitgliedschaft fortsetzen</a>');
});

$("start a").click(function() {
var parent_id = this.parentNode.id;
$('#'+parent_id).html('<a href="#">Mitgliedschaft stoppen</a>');
});


Verstehst du worauf ich hinaus will?
In dem Moment, wo ich den Inhalt des <li id="stop"></li> geändert habe, muss auch die ID geändert werden, damit man nämlich die Mitgliedschaft wieder starten kann!
$("#start a") fühlt sich logischerweise nicht angesprochen, weil das Listenelement noch die falsche ID (stop) hat!

Ich hab auch schon ausprobiert, den kompletten Listenblock mit remove() zu löschen und anstelle dessen mit insertBefore() einen neuen einzufügen. Aber das ließ sich ebenfalls aus einer anderen Funktion heraus nicht mehr ansprechen.

View full thread jQuery: ID umbenennen