Objekteigenschaften bei Array ändern

visiondpc

Erfahrenes Mitglied
Hallo,
ich habe eine Funktion mit der ich Styleeigenschaften bei einem Array ändern kann.

Code:
var handleObjARRAY=function(o,m,v) {
    for(var i=0,ol=o.length;i<ol;i++) {
        eval('o[i].'+m+'=\''+v+'\';');
    }
};

var o = document.getElementsByTagName('img');
handleObjARRAY(o,'style.padding', '10px');

Ansich funktioniert die Funktion soweit problemlos, allerdings wäre mir der Ordnung halber ein anderer Aufruf lieber.

Code:
handleObjARRAY(o).style.padding = '10px';

Ich vermute mal, das es nicht möglich ist das style-Object so in die Funktion zu bekommen. Falls doch wäre ich für Tipps dankbar.
 
Dann kannst du doch gleich folgendes schreiben:
Code:
o.style.padding = '10px';
Oder stehe ich gerade auf dem Schlauch? :confused:

Durch dein nicht wirklich gut lesbares Snippet kann ich natürlich auch irgendeinen tieferen Sinn übersehen haben. ;)

*edit*
Ah! Es geht um mehrere Elemente, deswegen das mit dem Array, jetzt klickerts. :)
Dann brauchst du aber trotzdem kein eval(), dann kannst du es wie in meinem Beispiel machen, nur eben mit dem jeweiligen Element.
Und nein, wie du es möchtest, so geht es nicht.
 
Zuletzt bearbeitet:
@DeluXe:
Sorry das Teil war eigentlich schon gepackt und ich hab vergessen wieder ein paar Leerzeichen zu setzen. Dann wäre es vermutlich besser lesbar.
Ich will ja nicht nur das Padding zuweisen sondern an der Stelle dynamisch bleiben und
Code:
var handleObjARRAY=function(o,m,v) {
    for( var i = 0, ol = o.length; i < ol; i++) {
        o[i].m = v;
    }
};

funktioniert leider nicht also komme ich um das eval wohl nicht rum.

@ Sven Mintel:
Das habe ich mir schon gedacht. Laut diesem Tutorial soll es bei Prototype eine derartige Möglichkeit geben.
Code:
$(element1,element2).style.visibility = 'hidden';
In diesem Fall gibt $ ja auch ein Array zurück.

Aber leider konnte ich beim testen von Prototype diese Funktionalität nicht nachvollziehen und denke mal im Tutorial steht einfach was falsches.

Danke Euch beiden.
 

Neue Beiträge

Zurück