使用下面的示例页面,我得到的 IE 输出与其他浏览器不同。
<html>
<head>
<title>hidden fields test</title>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.4.4/jquery.min.js" type="text/javascript"></script>
</head>
<body>
<form>
<input type="hidden" value="hidden1" />
<input type="hidden" value="hidden2" />
<input type="text" value="text1" />
<input type="text" value="text2" />
</form>
<script type="text/javascript">
$(function() {
var inputs = $("form input:enabled");
var concatenated = '';
inputs.each(function() {
concatenated = concatenated + $(this).val();
});
alert(concatenated);
});
</script>
</body>
</html>
对于 IE 8 (8.0.7600.16385),输出是“text1text2”,对于 Chrome (10.0.648.127) 和 Firefox (3.6.13),它是“hidden1hidden2text1text2”。这出乎我的意料。这是 IE 或 jQuery 中的错误,还是 jQuery 未考虑的浏览器中的预期差异?
IE中的隐藏字段总是带有隐含的“禁用”吗?