gpt4 book ai didi

jquery - IE 中的隐藏字段被视为禁用?

转载 作者:行者123 更新时间:2023-12-01 06:30:44 26 4
gpt4 key购买 nike

通过下面的示例页面,我在 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 中的隐藏字段是否总是带有隐式“禁用”?

最佳答案

似乎 FF 和 Chrome 假设即使某个元素被隐藏,如果它没有被禁用,它也会被认为是启用的。在 IE 中,似乎没有做出假设,并且隐藏输入既不被视为启用或禁用。 $('input:enabled') 或 $('input:disabled') 在 IE 中都不会与隐藏元素一起运行:

这里简单测试:http://jsfiddle.net/KFu4t/4/

FF 和 Chrome 都将输入显示为已启用,但 IE 不会显示输入已启用或禁用。

在 :enabled 的 jQuery 注释中指出:

It's not stated specifically in the docs, but this doesn't seem to include inputs of type "hidden".

http://api.jquery.com/enabled-selector/

关于jquery - IE 中的隐藏字段被视为禁用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5277703/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com