wenn man alle Antworten zusammenfasst, müsste diese Funktion dabei herauskommen:
function aendereLinks() {
var vater = document.getElementsByTagName("body")[0]; // default
// Wurde die Funktion mit Parameter aufgerufen und ein element übergeben?
if (arguments.length > 0) {
// Ja, dieses anstatt des bodys benutzen!
if (arguments[0])
vater = arguments[0];
}
oder eleganter:
[code lang=javascript]var vater = arguments.length ? arguments[0] : documemt.body;
> var aElemente = vater.getElementsByTagName("a");
> for (var i = 0; i < aElemente.length; i++) { // Dein altes "++i" war falsch!
Falsch, ich verwende zwar auch meistens i++, aber ++i ist von der Performance besser, da dieser Operator keine Kopie von i anlegen muss.
Struppi.