我真的很惊讶我之前没遇到过这个问题,但似乎在元素上调用jQueries .html()函数会忽略DOM中的更改,即它会返回原始源中的HTML.IE不会这样做.jQueries .html()只是在内部使用innerHTML属性.
这是否意味着发生?我使用的是Firefox 3.5.2.我在下面有一个示例,无论您将文本框值更改为什么,"container"元素的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>
Run Code Online (Sandbox Code Playgroud) 是否可以更改复选框的"已检查"属性?所以我想更改HTML中的预选值.(这样我以后可以用JavaScript的innerHTML来获取它).