• Das Erstellen neuer Accounts wurde ausgesetzt. Bei berechtigtem Interesse bitte Kontaktaufnahme über die üblichen Wege. Beste Grüße der Admin

Hintergrundbild entfernen per JS geht nicht

Dunuin

New member
Ich hab da ein Problem...

Ich möchte mit Greasemonkey per Javascript das Hintergrundbild eines TD-Elements entfernen, dass will jedoch nicht klappen...

Also das TD Element bekommt sein Aussehen, aus einer CSS-Datei, welche mit
Code:
<link rel="stylesheet" href="include/style.css">
in den Head eingefügt wird.

In dieser CSS-Datei bestimmt folgendes, welches Bild als Hintergrund genommen wird:
Code:
.bg1 {
BACKGROUND-image: url('../image/bg.gif');
}

Das TD-Element bekommt das Aussehen aus der CSS-Datei durch folgendes:
Code:
<td class=bg1>

Mit folgendem JS-Code hab ich nun versucht, dass Hintergrundbild zu entfernen:

Code:
var tddata = document.getElementsByTagName('td'); //Alle TD suchen
for(var i = tddata.length - 1; i >= 0; i--) { //Jedes TD durchgehen
    if(tddata[i].className == "bg1"){ //Etwas machen, wenn TD die Klasse bg1 hat(die, welche das Hintergrundbild bestimmt)
        tddata[i].style.backgroundColor = "#D9D900"; // -> funktioniert
        tddata[i].style.background = ''; // -> geht nicht
        tddata[i].style.backgroundImage = ''; // -> geht nicht
        tddata[i].style.removeAttribute("backgroundImage", false); // -> geht nicht
    }
}


Hat jemand also eine Idee, wie ich das Hintergrundbild per JS wegbekomme?
Hab das Gefühl, ich kann es nicht wegnehmen, weil die CSS-Angaben aus einer CSS-Datei eingebunden werden und nicht direkt im TD-Element stehen.

Edit:
Sorry wegen Merhfachpost, Seite hing und hat nach dem Drücken nichts gemacht.

PS: Nutze Firefox2
 
Zuletzt bearbeitet:
Deine Zelle hat kein Hintergrundbild dass du entfernen kannst, du kannst höchstens die CSS Klasse entfernen oder wenn du ganz mutig bist das Hintergrundbild der CSS Klasse entfernen, wozu du aber mit dem styleSheets Objekt hantieren musst.
 
Aha, Ok. Wenn man aber nun direkt in den TD-Tag mit "style=..." ein neues Hintergrundbild festlegen würde, z.B. ein 1x1 Pixel transparentes Gif, würde dieses Bild dann genommen werden, anstatt dem aus der CSS-Datei? Mir war so, als wenn das andere dann ignoriert werden würde...

Habt ihr sonst noch Ideen?
 
CSS - Cascading Style Sheets, bedeutet, es kaskadiert, hat also eine Hirarchie.
Da das Inline-Style ergo das "Letztgenannte" ist, "überschreibt" es das in der externen CSS...
 
Ok, habs nun mit dem Spacer-Bild (1x1pixel/transparent/GIF) gemacht wie vorgeschlagen und funktioniert :)

Ist jetzt nicht die schönste Lösung aber funktioniert...
 
Zurück
Oben