Linkattribut ändern

d-braun

Erfahrenes Mitglied
Hi,

ich bräuchte ein kleines Script mit welchem ich ein Linkattribut ändern kann. Folgendes soll erreicht werden:

aus:
HTML:
<a id="gallery" href="image.jpg"><img src="image_thumb.jpg" /></a>

soll
HTML:
<a rel="gallery" href="image.jpg"><img src="image_thumb.jpg" /></a>

werden.

Das Script müsste also jeden Link auf das Attribut "ID" prüfen und dieses ändern. Habe mit jQuery mal ein wenig rumgespielt. Mit
Code:
var attrib = $('#content a').attr('id')
bekomme ich die ID des ersten Links. Mit
Code:
$('#content a').attr('rel', attrib)
könnte ich das REL-Attribut setzen. Das bringt mir jedoch nicht viel da erstens alle Links das REL-Attribut bekommen und zweitens das ID-Attribut bleibt wodurch die Seite nicht mehr valide ist.

Jemand ne Idee wie ich das lösen kann?

Gruß
 
Javascript:
$('#content a').each(function() {
    if(this.id == 'gallery') {
        $(this).attr('rel','gallery').removeAttr('id');
    }
});
ungetestet

Wieso enthält dein Dokument überhaupt doppelte IDs?

Mir fällt gerade auf, dass das each oben unnötig ist.

Javascript:
$('#content a#gallery').attr('rel','gallery').removeAttr('id');
 
Zuletzt bearbeitet:
Das mit der ID war nur ein Beispiel. Könnte ich genau so gut mit class etc. machen. Hintergrund ist dass ich in TinyMCE nicht die Möglichkeit habe das Attribut rel zu setzen. Deshalb dieser Workaround.
Das "gallery" muss deshalb auch dynamisch sein da dies je nach Gallery neu vergeben wird. Für meinen Zweck reicht folgendes:

Code:
$('#content a').each(function() {
        $(this).attr('rel',$(this).attr('id')).removeAttr('id');
});

Es wird nun einfach das Attribut getauscht. Ob ich das letztendlich mit ID mache oder ein anderes nehme muss ich sehen.
Danke für die schnelle Hilfe.
 
Zurück