この解決策を試してください - 私はそれをテストし、あなたのスニペットでうまくいきました (あなたは彼が "Update:" パラグラフに書いたコードを取らなければなりません):
javascript document.getElementsByClassName IE との互換性
getElementsByClassName
IE8ではサポートされていないようです。
ところで: これは、jQuery を使用する必要がある理由の完璧な例です。このような問題は発生しないためです :)
編集:次のようにテストしました:
<!DOCTYPE html>
<html>
<head>
<script type="text/javascript">
function getElementsByClassName(node, classname) {
var a = [];
var re = new RegExp('(^| )'+classname+'( |$)');
var els = node.getElementsByTagName("*");
for(var i=0,j=els.length; i<j; i++)
if(re.test(els[i].className))a.push(els[i]);
return a;
}
window.onload = function() {
var a = getElementsByClassName(document.body,"required");
for(var i = 0;i < a.length;i++)
a[i].onblur = function() { alert("blured")};
};
</script>
</head>
<body>
<input class="required" type="text" name="uno" />
<input class="required" type="text" name="duno" />
</body>
</html>