jQuery html() in Firefox (verwendet .innerHTML) ignoriert DOM-änderungen

Ich bin wirklich überrascht, ich habe nicht dieses problem, aber es scheint, dass der Aufruf jQueries .html () - Funktion auf ein element ignoriert änderungen in den DOM, ich.e es gibt den HTML-Code in der ursprünglichen Quelle. IE macht dies nicht. jQueries .html() benutzt nur die innerHTML-Eigenschaft intern.

Soll das geschehen? Ich bin auf Firefox 3.5.2. Ich habe ein Beispiel unten, wo, egal was Sie ändern das textbox-Wert der innerHTML-der "container" - element nur immer wieder die definierten Wert in das HTML-markup. Die Probe ist nicht mit jQuery nur um es einfacher zu machen (das Ergebnis ist das gleiche mit jQuery).

Hat jemand eine Arbeit um, wo kann ich den html-container in seinem aktuellen Zustand, D. H. einschließlich aller scripted änderungen an der DOM?

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
    <head>
        <script type="text/javascript">
            <!--
            function BodyLoad(){                
                document.getElementById("textbox").value = "initial UPDATE";
                DisplayTextBoxValue();
            }

            function DisplayTextBoxValue(){
                alert(document.getElementById("container").innerHTML);             
                return false;
            }
            //-->
        </script>
    </head>
    <body onload="BodyLoad();">
        <div id="container">
            <input type="text" id="textbox" value="initial" />
        </div>
        <input type="button" id="button" value="Test me" onclick="return DisplayTextBoxValue();" />
    </body>
</html>

InformationsquelleAutor der Frage JonoW | 2009-09-07

Schreibe einen Kommentar