arrb[0]="我的"
arrb[1]="你的"
txts=""

for(i=0;i<=1;i++)
{
txts=txts+i+"."+'<a href="#" onclick="changetomx(arrb[i])";>祥述</a>'+"<br>"

}
document.getElementById("divid").innerHTML=txts网页正常显示,但最后返回txts的时候,i的值的总是最后一个,i=1所以arrb[i]也就是最后那个值,txts的最后是
两行都显示“你的”,现在希望arrb[i]在txts中要变,结果显示第一个是“我的”,第二个是“你的”,改写如下:txts=txts+'<a href="#" onclick="changetomx("'+arrb[i]+');>祥述</a>'但不成功,望多多赐教!不胜感激啊

解决方案 »

  1.   

    txts=txts+'<a href="#" onclick="changetomx(arrb[' + i +'])">祥述</a>';
      

  2.   

    纠正为:txts=txts+'<a href="#" onclick="changetomx("'+arrb[i]+'")";>祥述</a>',改成这样后显示链接但提示错误,但报语法错误 ,是不是传递的参数有问题,本身语句是对的。
    microsoft script editor调试时结果是这样的:txts="<p class=\"s3\">阿根廷</p>一、国别贸易概述<a href=\"#\" onclick=\"changetomx(\"agenting\")\";>祥述</a><hr>"    以上changetomx是个函数
        function changetomx(mx){....}然后执行以下语句时:
    document.getElementById("divid").innerHTML=txts运行后链接文字是出现,但同时出现运行错误,行 1 语法错误.这是为什么呢?
      

  3.   

    如果按一楼的方法,如果arrb[0]="agenting"最后出现的是
    txts="<p class=\"s3\">agenting</p><a href=\"#\" onclick=\"changetomx(arrb[0])\">祥述</a>"
    而不是
    txts="<p class=\"s3\">agenting<a href=\"#\" onclick=\"changetomx(\"agenting\")\";>祥述</a><hr>"
    但下面这句话就是不正确,提示语法错误,我已经在函数中加了引号了啊  changetomx("agenting")
      

  4.   


    var arrb = ["我的" , "你的"];
    var txts = new Array(); for(i=0;i<=1;i++){
       txts.push( i+"."+'<a href="javascript:void(0);" onclick="changetomx(\''+arrb[i]+'\');">'+arrb[i]+'祥述</a>'+"<br>" );
    }
    alert( txts.join('') );
    document.getElementById("divid").innerHTML=txts.join('');

    function changetomx( _val ){
    alert( _val );
    }
    注意单引号或双引号的使用
      

  5.   

    先谢谢楼上的,我不太内行,想再问一下,<a href="javascript:void(0);" 和<a href="#" 有什么区别或则用法上有什么不一样?
      

  6.   

    一般情况下A标签 被点击后  A标签的HREF中的串 将被浏览器地址栏解释执行
    怎么解释就看 这个字符串代表什么协议 和浏览器怎么执行了