我在网站(twitter风格)的textareas上实现了一个长度计数器。我使用此处找到的代码http://www.codefromjames.com/wordpress/?p=15但似乎无法在IE7中使用。 我已经跟踪了这个问题,检查了属性" maxlength"在一个元素。如果找不到属性,它期望它为null,但IE7返回一个数字(我猜是浏览器或HTML标准允许的最大长度,我不知道)。 以下是您可以尝试的示例:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="es" lang="es">
<head>
</head>
<body>
<input id="test"></input>
</body>
<script type="text/javascript">
var element = document.getElementById("test");
alert(element.getAttribute("maxlength"));
</script>
</html>
尝试在IE7上执行此操作,你会发现它给出了一个数字而不是null。
IE7的确切版本是7.0.5703.13
我应该将此视为IE7错误还是按预期工作?
干杯!
答案 0 :(得分:0)
您可以查看element.attributes.maxLength.specified
以确定maxLength是否确实是用户指定的。
var element = document.getElementById('test');
var maxLength, defaultLength = 100;
if (element.attributes.maxLength && element.attributes.maxLength.specified) {
maxLength = element.attributes.maxLength.nodeValue || defaultLength;
} else {
maxLength = defaultLength;
}