<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
<script language="javascript" type="text/javascript">
function setFont() {
var i;
for ( i = 0; i < document.all.length; i++) {
document.all[i].style.fontFamily = "Verdana";
document.all[i].style.fontSize = "16";
document.all[i].style.color="black";
}
};
function abc(a) {
alert(a);
ansArray = ['a'];
for (i = 1; i <= a; i++) {
document.write('<input type = "button" value = "a">');
document.write('<input type = "button" value = "b">');
}
var myButton = document.getElementsByTagName("input");
//alert(myButton.length);
myButton[0].onclick = function() {
if (ansArray[0] == 'a') myButton[0].style.backgroundColor = "green";
else myButton[0].style.backgroundColor = "red";
};
myButton[1].onclick = function() {
if (ansArray[0] == 'b') myButton[1].style.backgroundColor = "green";
else myButton[1].style.backgroundColor = "red";
};
};
setFont();
</script>
</head>
<body onload="Javascript:abc(2)">
hello
</body>
</html>
onclick函数在IE中不起作用,但在chrome和firefox中工作正常。我找不到错误。为什么正常功能不起作用。函数加载内容但是点击事件处理程序所写的前两个按钮不会仅改变IE中的按钮颜色。请帮助我...提前致谢
答案 0 :(得分:0)
这里的问题是使用document.write
显然也会覆盖JavaScript。如果您将document.write()
切换为document.body.innerHTML +=
,问题就解决了。后两个按钮无法使用该代码,因为您只是调用按钮0
和1
,而后两个按钮是3
和4
。
答案 1 :(得分:0)
快速谷歌搜索表明问题是你在页面加载后使用document.write,所以它也正在删除dom。你应该避免在页面加载后调用的函数中使用它。
来源:http://sitr.us/2012/09/04/monkey-patching-document-write.html
我没有IE,所以无法测试它。