<!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=gb2312" />
<title>我又哪儿错了</title>
<script language="javascript" type="text/javascript" src="../js/r_btn.js"></script>
<style type="text/css">
<!--
*{margin: 0px;padding: 0px;}
li{margin-top: 1px;}
a{line-height: 25px;height: 25px;display: block;padding-left: 30px;background: #FFCC00;}
-->
</style>
</head>
<body>
<ul>
  <li><a id="a01" href="http://www.baidu.com/" target="_blank">百度</a></li>
  <li><a id="a02" href="http://www.google.com.hk/" target="_blank">谷歌</a></li>
</ul>
<script type="text/javascript" language="javascript">
<!--
function creatXMLHTTP()
{
if(window.ActiveXObject)
{
var arrXmlHttpTypes = ['Microsoft.XMLHTTP','MSXML2.XMLHTTP.6.0','MSXML2.XMLHTTP.5.0','MSXML2.XMLHTTP.4.0','MSXML2.XMLHTTP.3.0','MSXML2.XMLHTTP']; for(var i=0;i<arrXmlHttpTypes.length;i++)
{
try
{
xmlHttp = new ActiveXObject(arrXmlHttpTypes[i]);
break;
}
catch(ex)
{
}
}
}
else if(window.XMLHttpRequest)
{
xmlHttp = new XMLHttpRequest();
}
}
function httpStateChange(){
if (xmlHttp.readyState==4){
if (xmlHttp.status==200 || xmlHttp.status==0){
var obj = document.getElementById(idn).id;
alert("id = " + obj);//循环语句输出各个id属性,为什么不见输出"a01"
}
}
}function temp(p){
creatXMLHTTP();
if (xmlHttp!=null){
xmlHttp.onreadystatechange = httpStateChange;
xmlHttp.open("get",document.getElementById(p).href,true);
xmlHttp.send(null);
}
else {
alert("您的浏览器不支持XMLHTTP。");
}
}var xmlHttp = null;
var idn;
for(var i=1;i<=2;i++){
idn = ("a0" + i);
temp(idn);
}
-->
</script>
</body>
</html>
为什么在httpStateChange()函数中弹出窗口次数少了一次,而且增加循环次数,都总是第一个id值alert不出来,高手指教了

解决方案 »

  1.   

    for(var i=0;i<=2;i++){
      

  2.   

    帮我看下问题.
    高手.
    http://topic.csdn.net/u/20100420/14/8401bae5-374a-4c58-8789-d8bb08b78973.html?81042
      

  3.   

    xmlHttp.open("get",document.getElementById(p).href,false);改为同步传输就行了
      

  4.   

    for(var i=0;i<=2;i++)
    改成这样儿就是要执行三次循环啊,而且html中id值还没有"a00"啊。运行时候会报错
    我还是想要异步处理方式,如何处理??可以讲讲为什么吗?