我真的很驚訝,我以前沒有碰到這個問題,但似乎調用jQueries的.html()一個元素函數忽略的變化DOM,即它返回原始源代碼中的HTML。 IE不會這樣做。 jQueries .html()只是在內部使用innerHTML屬性。jQuery的HTML()在Firefox(使用.innerHTML)忽略DOM改變
這是否意味着發生的呢?我在Firefox 3.5.2上。我在下面有一個示例,無論您將textbox值更改爲什麼,「容器」元素的innerHTML都只返回HTML標記中定義的值。該示例並未使用jQuery來簡化它(使用jQuery的結果相同)。
有誰有大約在那裏我可以得到一個容器的HTML在當前狀態下,即包括任何腳本更改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>
你的插件工作正常,所有的控制,但它並不適用於textarea的FF單獨工作: - (......你有沒有改變任何東西,使其工作?已經添加了1,因爲這對我幫助很大:-) – Raja 2011-02-28 16:58:25
只是不得不做了微妙的變化$( 「textarea的」,這一點)。每個(函數(){ \t \t this.innerHTML = THIS.VALUE; \t });現在它可以工作。感謝您的解答:-) – Raja 2011-02-28 17:31:40
@Raja - 感謝您的反饋 - 更新了代碼! – gnarf 2011-02-28 18:55:07