3 Stimmen

document.getElementById.style.backgroundImage funktioniert nicht

Ich möchte verschiedene Hintergrundbilder zu einem div abhängig von der Adresse der Seite zuweisen, also zum Beispiel, wenn meine url ist http://www.mywebsite.com/mysubdirectory/ Ich verwende den folgenden Code:

if(document.URL.indexOf("mysubdirectory") >= 0){ 
   document.getElementById("wrapper").style.backgroundImage = "url('bg-wrapper.jpg')";
}

Aber es funktioniert nicht. Ich habe sogar einen gefälschten document.write-Befehl hinzugefügt, nur um sicherzustellen, dass der Rest des Codes in Ordnung ist, und die gefälschte Zeile tauchte in meinem Browser auf. Gibt es etwas, das ich übersehen habe?

EDIT: Ich danke Ihnen allen für Ihre Antworten - wenn ich body anstelle von getElementById("wrapper") in meinem Code verwende, wird das Bild angezeigt, so dass ich bezweifle, dass es ein Pfad-bezogenes Problem ist. Ich habe versucht, ein onload-Attribut zum body-Tag hinzuzufügen, aber es funktioniert immer noch nicht mit getElementById. Irgendwelche Ideen?

1voto

gregcomposition Punkte 11

Falls noch jemand daran interessiert ist. Hier ist eine Lösung:

document.getElementById("wrapper").style.background = "url(http://media.nu.nl/m/m1fz6dwa6h3w.jpg)";

0voto

Felipe Toro Punkte 31

Die Lösung besteht darin, nicht alles in einer Zeile zu machen.

Sie müssen eine Variable erstellen, ihr die URL zuweisen und sie dann übergeben.

let bg = "url('" + imgUrl + "')";
document.getElementById("wrapper").style.backgroundImage = bg;

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X