innerText FF



  • Hallo

    Spinnt mein FF 1.0.7 oder warum geht
    http://de.selfhtml.org/javascript/objekte/anzeige/all_inner_text.htm
    nicht bei mir.

    Wenn ich lokal mit getElementById nehme kommt zwar keine Warnung aber er ändert auch den Text nicht.
    Dachte immer selfHTML hält sich an Standard.

    Danke.



  • Mit Opera gehts



  • steht ja sogar bei selfhtml, dass das Beispiel im FF nicht funktioniert 🙄

    document.all. ist eine Implementierung von Microsoft und gehört nicht zum offiziellen JavaScript-Sprachstandard



  • Wie macht man es dann?

    <html><head>
    <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1">
    <title>Test</title>
    <script type="text/javascript">
    var Neu = "neuer Text";
    function Aendern () {
      document.getElementById("meinAbsatz").innerText = Neu;
    }
    </script>
    </head><body>
    <p id="meinAbsatz">Text</p>
    <a href="java\1:Aendern()">Anderer Text</a>
    
    <p><a href="../all.htm#inner_text">zur&uuml;ck</a></p>
    </body>
    
    </html>
    

    Habe das versucht. FF gibt zwar jetzt keinen JS-Fehler aber der Text wird auch nicht geändert.



  • document.getElementById("meinAbsatz").firstChild.nodeValue = Neu;
    

    mit dieser Variante werden HTML-Tags nicht gerendert. Wenn Neu <strong>Test</strong> enthält, so ist im Browser der ganze Text 'sichtbar'.

    document.getElementById("meinAbsatz").innerHTML = Neu;
    

    mit innerHTML werden HTML-Tags gerendert. Wenn Neu <strong>Test</strong> enthält, so ist im Browser nur Test sichtbar, dafür aber Fett



  • Es geht ja um innerText und nicht um inner HTML
    Dh ich will den Text z.B. <p id="meinAbsatz">Text</p> ändern.
    Statt Text will ich da einen anderen Text.

    Siehe meinen Bsp.Code.
    Dort sollte dann "neuer Text" statt "Text" stehen.



  • so gehts mit FF, Opera und IE 😉

    function Aendern () {
    	if(document.all) {
    		document.getElementById("meinAbsatz").innerText = Neu;
    	} else{
    		document.getElementById("meinAbsatz").textContent = Neu;
    	}
    }
    

Anmelden zum Antworten