2016-12-12 6 views
-1

Wenn Sie die Schaltfläche "Bericht" markieren, indem Sie die Rahmenfarbe rot machen, scheint dies jedoch nicht zu funktionieren. Der Code, den ich versucht habe zu verwenden, ist unten.Wie ändert man die Rahmenfarbe eines SPAN?

document.getElementById("ReportBtn").style.border = "solid #FF0000"; 

Ich habe sogar versucht, es über die Browser-Konsole zu laufen, scheint nur Null zurück, obwohl die Seite voll geladen.

<span onclick="return ReportReview()" class="btn_grey_grey btn_small_thin tooltip" id="ReportBtn" data-tooltip-content="Report this review for violating the Steam Terms of Service or Online Conduct Rules."></span> 
+1

Kann Problem nicht neu ... sollte es funktionieren: https: //jsfiddle.net/htj1gkxL/ – sinisake

+1

bitte ReportReview() Code –

+1

gleiche wie @nevermind, https://jsfiddle.net/3p5x25nr/ –

Antwort

3

Entfernen Sie Rückkehr von Ihrem onclick Ereignis. Es braucht <span onclick="ReportReview()">

html

<span onclick="ReportReview()" class="btn_grey_grey btn_small_thin tooltip" id="ReportBtn" data-tooltip-content="Report this review for violating the Steam Terms of Service or Online Conduct Rules."></span> 

js

function ReportReview() { 
    document.getElementById("ReportBtn").style.border = "solid #FF0000"; 
} 

Siehe js fiddle here zu sein, das zeigt, was Sie tun möchten.

Vielleicht möchten Sie nur die Farbe ändern, wenn das Dokument geladen wurde. In diesem Fall sollte folgendes funktionieren. Es bedeutet grundsätzlich, dass wenn die Seite geladen hat, ändern Sie die Farbe der Grenze des span Elements. Sie können die Farbe des Span-Elements nur ändern, wenn es erstellt wurde. Dadurch wird sichergestellt, dass es bereits erstellt wurde.

document.addEventListener("DOMContentLoaded", function() { 
    document.getElementById("ReportBtn").style.border = "solid #FF0000"; 
}); 
+0

Ich versuche nicht, die Grenze hinzuzufügen, wenn ich auf die Flagge klicke. Es funktioniert auch nicht. – MilkGames

+0

Wann möchten Sie den Rahmen hinzufügen? Es ist nicht sehr klar von Ihrer Frage. Von dem, was Sie zur Verfügung gestellt haben, sieht es so aus, als ob Sie das wollen. Es funktioniert sicher. Hast du das Spiel überprüft? Sie müssen herausfinden, welchem ​​Element Sie den roten Rahmen hinzufügen möchten, und dann in eine Funktion einfügen. Dann müssen Sie auf das Element verweisen, das beim Anklicken die Farbe des Elements 'span' ändert. Basierend auf dem, was ich oben zur Verfügung gestellt habe, sollten Sie in der Lage sein, dies auf das, was Sie wollen, genau zu übertragen –

+0

Dies ist eigentlich ein Firefox-Plugin, das grundsätzlich Javascript verwendet. Ich möchte, dass der Rahmen hinzugefügt wird, sobald die Seite geladen ist.Und nein, es funktioniert nicht. Noch einmal möchte ich es zu einem SPAN hinzufügen. – MilkGames

0

Verwendung nur Onclick = "ReportReview()"

es ist der richtige Weg, um die Funktion Ereignis zu nennen. Return wird im onclick-Ereignis nicht verwendet.

+0

Siehe meine vorherigen Kommentare - \t Dies ist eigentlich ein Firefox-Plugin, das grundsätzlich Javascript verwendet. Ich möchte, dass der Rahmen hinzugefügt wird, sobald die Seite geladen ist. Und nein, es funktioniert nicht. Noch einmal möchte ich es zu einem SPAN hinzufügen. – MilkGames

+0

schreiben Sie bitte solche Informationen in der Frage – oqx

1

Liegt das daran, dass Ihr JavaScript ausgeführt wird, bevor Ihr Bereich fertig ist?

Erklärung bearbeiten

Ihr JavaScript ist in Ordnung

document.getElementById("ReportBtn").style.border = "solid #FF0000"; 

Es wird nur funktionieren, wenn sie aufgerufen wird, nachdem die Spanne erstellt wurde. Es wird fehlschlagen, wenn es höher in Ihrem Markup läuft.

+0

sollten Sie es als Antwort umformulieren und erklären, was Sie meinen – oqx

+0

Sie haben Recht, ich habe meine Antwort zu aktualisieren. Vielen Dank. –

Verwandte Themen