Ich bin wirklich überrascht Ich habe dieses Problem noch nicht kennengelernt, aber es scheint, dass das Aufrufen von jQueries .html() - Funktion auf einem Element Änderungen ignoriert DOM, dh es gibt das HTML in der Originalquelle zurück. IE tut das nicht. jQueries .html() verwendet intern nur die Eigenschaft innerHTML.jQuery html() in Firefox (verwendet .innerHTML) ignoriert DOM - Änderungen
Ist dies geschehen soll? Ich bin auf Firefox 3.5.2. Ich habe eine Probe unten, wo, egal was Sie das Textfeld Wert ändern, die innerHTML- des „Container“ Element immer nur den Wert in der HTML-Markup definiert zurückgibt. Das Beispiel verwendet jQuery nicht nur, um es einfacher zu machen (das Ergebnis ist dasselbe mit jQuery).
Hat jemand eine Arbeit um, wo ich das HTML eines Containers in seinem aktuellen Zustand, d. H. Einschließlich skriptgesteuerter Änderungen an das DOM bekommen kann?
<!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>
Ihr Plugin funktioniert für alle Bedienelemente gut, aber es funktioniert nicht für Textarea allein in FF: - (.... Hast du etwas ändern, damit es funktioniert Ich habe bereits 1 hinzugefügt, da dies mir sehr geholfen hat :-) – Raja
musste nur eine subtile Änderung vornehmen $ ("textarea", das) .each (function() { \t \t this.innerHTML = dieser.Wert; \t }); und jetzt funktioniert es. Danke für deine Lösung :-) – Raja
@Raja - Danke für die Rückmeldung - den Code aktualisiert! – gnarf