Das ist sehr merkwürdig. Hier ist eine schnelle Testfunktion:
function test_function(){
code = '<img src="http://www.myimage.com/img.jpg" alt="image" />';
alert(code);
document.getElementById('test').innerHTML = code;
alert(document.getElementById('test').innerHTML);
}
Wenn Sie den obigen Code ausführen, wird Folgendes angezeigt />
in der ersten Meldung, aber in der zweiten Meldung nicht, sie zeigt nur >
. Es sieht also so aus, dass die Bewerbung bei .innerHTML
wird der Schrägstrich entfernt. Haben Sie eine Idee, wie man dies verhindern kann? Ich brauche den Schrägstrich für die Validierung.
1 Stimmen
Welchen Doctype verwenden Sie?
0 Stimmen
Bei welchen Browsern tritt das Problem auf?
0 Stimmen
Wenn der Browser den Schrägstrich entfernt, ist er in diesem Doctype wahrscheinlich nicht erforderlich.
0 Stimmen
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" " w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd ">
0 Stimmen
Aber bieten Sie Ihre Webseite als
application/xhtml+xml
?0 Stimmen
Ich nehme an, Sie meinen dies: <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
0 Stimmen
Nein, ich meinte die HTTP-Header .
0 Stimmen
Richtig, es kommt als text/html an
0 Stimmen
In diesem Fall wird Ihre Seite von den Browsern ohnehin als HTML geparst.