Schrift
Wiki:Tipp zum Debugging: use Data::Dumper; local $Data::Dumper::Useqq = 1; print Dumper \@var;
[thread]11096[/thread]

jQuery: ID umbenennen



<< |< 1 2 3 >| >> 21 Einträge, 3 Seiten
Froschpopo
 2008-01-04 12:27
#104375 #104375
User since
2003-08-15
2653 Artikel
BenutzerIn
[default_avatar]
Weiss jemand von Euch, ob man mit jQuery auch ID's umbennen kann?

Also hier mal ein Bsp:
Code: (dl )
<a href="#" id="richtig">...</a>


ich hätte jetzt gerne als ID anstatt "richtig" => "falsch".
Geht sowas überhaupt?
Ein Keyword für google würde mir im Prinzip schon genügen;
renee
 2008-01-04 12:53
#104377 #104377
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
probier mal:
Code: (dl )
$(this.id) = 'neueID'
(ungetestet)
OTRS-Erweiterungen (http://feature-addons.de/)
Frankfurt Perlmongers (http://frankfurt.pm/)
--

Unterlagen OTRS-Workshop 2012: http://otrs.perl-services.de/workshop.html
Perl-Entwicklung: http://perl-services.de/
Struppi
 2008-01-04 12:53
#104378 #104378
User since
2006-02-17
628 Artikel
BenutzerIn
[Homepage]
user image
Du kanst mir jquery das Attribut genauso ändern wie ohne.
[Object].id = 'xxx';
Froschpopo
 2008-01-04 17:38
#104399 #104399
User since
2003-08-15
2653 Artikel
BenutzerIn
[default_avatar]
Habe mal ein wenig experimentiert und wollte einen ajax-Request machen. Nach erfolgreichem Request soll dann die ID vom <li>-Element geändert; und die neue ID per alert() ausgegeben werden (quasi um zu testen obs geklappt hat).

Code: (dl )
1
2
3
4
5
<ul>
<li id="li1"><a href="#">...</a></li>
<li id="li2"><a href="#">...</a></li>
<li id="li3"><a href="#">...</a></li>
</ul>


Jetzt will ich bei einem onClick-Event die ID ändern. Dazu habe ich mir folgendes einfallen lassen:
Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
$("#2 a").click(function() {
var parent_id = this.parentNode.id;
$.ajax({
type: 'GET',
url: 'execute.py',
dataType: 'html',
global: 'false',
success: function(html) {
/* li2 in neue_id ändern*/
$(parent_id) = 'neue_id';

/* Probe machen*/
alert(this.parentNode.id);
}
});
});

theoretisch müsste alert() doch eigentlich "neue_id" ausgeben - oder?
Tuts aber nicht.
Code: (dl )
Fehler: invalid assignment left-hand side
Struppi
 2008-01-05 01:06
#104412 #104412
User since
2006-02-17
628 Artikel
BenutzerIn
[Homepage]
user image
Das ist völliger Unsinn.
Froschpopo
 2008-01-05 05:50
#104414 #104414
User since
2003-08-15
2653 Artikel
BenutzerIn
[default_avatar]
würdest du bitte ein ordentliche Statements abgeben? Anstatt eines Einzeilers könntest du dich wenigstens um eine sachliche Antwort bemühen, auch wenn du in nur dein Unverständnis ausdrückst. Aber du könntest z.B. Stellung dazu beziehen, was und welchen Part du als Unsinnig empfindest. Es kotzt mich an, dass ich mich die ganze Zeit mehr bemühe um den unterschiedlichsten Ansprüchen der Disskusionsbeteiligten gerecht zu werden; dabei ist dein/deren Beitrag ebenfalls nicht besser!
Wie von dir gewünscht, hast du eine Fehlermeldung bekommen. ich habe den kompletten Code veröffentlicht.
Ich habe mich auch mit jQuery beschäftigt; sonst wäre o.g. Code garnicht zu Stande gekommen! Ich habe außerdem; was mir schon mehrfach vorgeworfen wurde; mit den mir naheliegendsten Szenarien experimentiert.
Ich gebe mir echt Mühe in diesem Forum mehr annerkannt zu werden, aber ich will auch, dass man meine Bemühung wenigstens ein bisschen würdigt!
Froschpopo
 2008-01-05 10:41
#104415 #104415
User since
2003-08-15
2653 Artikel
BenutzerIn
[default_avatar]
bevor dieser Struppi wieder ankommt will ich anmerken, dass ich die Doku nun gelesen habe.

Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
$("#alte_id a").click(function() {
$('#alte_id').attr({id: 'neue_id'});

/* Attribut id von neuer ID anzeigen:*/
alert('Neue ID: '+$('#neue_id').attr('id'));
/* Ergebnis: neue_id */

/* neue_id unsichtbar machen:*/
$('#neue_id').hide();
});

$("#neue_id a").click(function() {
alert("Funktioniert!");
});


Ich will mich hier nicht als asozial hinstellen lassen, der nur nutzt und nie gibt! Mal davon abgesehen, dass ich mich auch an Disskusionen beteilige, ergänze ich meine Beiträge IMMER durch die von mir gefundene Lösung! Somit ist also sichergestellt, dass anderen damit geholfen ist.

Ich hoffe blos, dass ich nicht wieder die komplizierteste aller Möglichkeiten gewählt habe.

Nun habe ich aber folgendes Problem:
Die #neue_id gilt nämlich nur innerhalb des onClick-Events, also nur innerhalb der Funktion, in der ich das id-Attribut geändert habe. Also quasi nur lokal.
Struppi
 2008-01-05 10:58
#104416 #104416
User since
2006-02-17
628 Artikel
BenutzerIn
[Homepage]
user image
Ich hab dir die Lösung schon in meinem ersten Posting gezeigt.
Froschpopo
 2008-01-05 11:02
#104417 #104417
User since
2003-08-15
2653 Artikel
BenutzerIn
[default_avatar]
Also du meinst:
Code: (dl )
[Object].id = 'neue_id';

Das heisst für mich:
$("#alte_id").id = 'neue_id'

aber das kann ich mir schlecht vorstellen, weil #alte_id ist doch schon die id!
Wegen dem Code bin ich doch erst auf die Idee gekommen das id-Attribut zu ändern, was ja auch funktioniert, aber halt NUR LOKAL! (Siehe Beitrag 7)
Struppi
 2008-01-05 12:01
#104418 #104418
User since
2006-02-17
628 Artikel
BenutzerIn
[Homepage]
user image
Ich hab keine Ahnung was jquery da macht, aber wenn ich mich recht erinnere hast du es schon gesagt bekommen, wenn nicht, in der Funktion ist this das eiegntlich Objekt.

wobei ich es seltsam finde eine ID umzubennen
<< |< 1 2 3 >| >> 21 Einträge, 3 Seiten



View all threads created 2008-01-04 12:27.