window.onload = function () { 
var chunzhengwen = document.getElementById('chunzhengwen');
var chunzhengwenAs = chunzhengwen.getElementsByTagName('a');
for(var i=0;i<chunzhengwenAs.length;i++){
if(chunzhengwenAs[i]){
var chunzhengwenAsa = chunzhengwenAs[i];
chunzhengwenAsa.target = '_blank';
chunzhengwenAsa.style.color='#ff00ff';
  }
}

这段代码为什么没有效果?

解决方案 »

  1.   

    呃??看你代码是没有错的呀。怎么会没有效果??id=chunzhengwen的容器存在吗?要不,你试试下面的?
    function changeTarget(parent,tag)
    {
        var _href=parent.getElementsByTagName(tag);
        for(i=0;i<_href.length;i++)
        {
            _href[i].setAttribute("target","_blank");
            _href[i].style.color='#ff00ff';
        }
    }
    window.onload=function(){
        var o= document.getElementById('chunzhengwen');
        changeTarget(o,"a");
    }
      

  2.   

    chunzhengwenAsa.target = '_blank';改成
    chunzhengwenAsa.setAttribute("target","_blank")试试;
      

  3.   

    楼主你是不是运行本地的html文件,IE会设限制不让你javascript执行,其他浏览器可以。
      

  4.   

    其实这样做吧。把div下面的a标签 target全部先去除掉。然后统一加上不就是统一了吗?伪代码,不一定正确啊: var len=$("div a").length();
    for(var l=0;l<len;l++){
    $(this).removeAttr("target");
    $(this).attr("target","_blank");}
      

  5.   

    谢谢大家的回复,分子少别介意。
    问题不在代码上,而是我后面还有一个地方也用了WINDOW.ONLOAD,所以冲突了。。
    打包一起放进去调用就OK了。