2017-01-02 2 views
-4

Ich bin mir nicht sicher, warum dies geschieht aber, wenn ich folgendes tunthis.src Schrägstriche in Pfad zu entfernen Datei

<img src=\"Images\\{reader[2]}\" onmouseover=\"this.src='Images\\White\\{reader[2]}';\"> 

Es gibt die folgenden im Quellcode

<img onmouseover="this.src='Images\White\settings.png';" src="ImagesWhitesettings.png"> 

Warum ist Entfernen Sie die Backslashes?

+2

"Es gibt Folgendes im Quellcode aus"? Javascript ändert den Quellcode nicht. Schaust du dir das DOM an? Wie? – Luaan

+0

Was in IE jetzt inspect-Element genannt wird, wurde als View-Source bezeichnet, weshalb ich es so formuliert habe. – Jordan

+1

Das stimmt nicht. Die beiden sind sehr unterschiedlich - einer zeigt den Quellcode, wie er in HTML vom Server kam, der zweite formatiert das DOM in einer für Menschen lesbaren (und verwendbaren) Weise - im Grunde übersetzt das DOM zurück in HTML mit ein paar zusätzlichen Funktionen. – Luaan

Antwort

4

Ein \ gibt den Anfang von in einem JavaScript-String-Literal an.

Um \ als Daten zu verwenden, müssen Sie die Escape-Sequenz dafür verwenden: \\.

Das heißt, URLs verwenden / und nicht \ als Pfadtrennzeichen.

+0

In meinem Code habe ich \\ Ich habe es für obige Zwecke gereinigt. Danke, obwohl Wechsel zu Schrägstrich aufgelöst. Irgendwie komisch wirkte das Double auf diese Weise. – Jordan

+3

@ Jordan Warum würdest du das tun? Zeigen Sie uns den ** tatsächlichen ** Code und hören Sie damit auf, alle Zeit zu verschwenden. Ich, ehrlich gesagt, glaube Ihnen nicht, denn https://jsfiddle.net/6r9ugzbs/1/ – ceejayoz

+2

@ Jordan Tun Sie das nicht. Setzen Sie Ihren tatsächlichen Code dort - das ist nicht "Aufräumen", es macht die Probe völlig wertlos. – Luaan

1

Versuchen Sie, Schrägstriche "/" zu verwenden, da umgekehrte Schrägstriche verwendet werden, um Zeichen zu entkommen.

+0

Während das wahr ist, muss OP wirklich mehr darüber wissen, was hier passiert, da sie manchmal einen Backslash in einer Zeichenkette benötigen. – ceejayoz

Verwandte Themen