日期:2014-05-16  浏览次数:20317 次

[求助] 【急】如何让div中所有的a标签的target属性为“_blank”
JScript code


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';
  }
}
} 





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



------解决方案--------------------
哥们 帮你测试了下 有效果
------解决方案--------------------
呃??看你代码是没有错的呀。怎么会没有效果??id=chunzhengwen的容器存在吗?要不,你试试下面的?
JScript code
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");
}

------解决方案--------------------
chunzhengwenAsa.target = '_blank';改成
chunzhengwenAsa.setAttribute("target","_blank")试试;
------解决方案--------------------
LZ那代码不改也可以运行的。。。。
------解决方案--------------------
楼主你是不是运行本地的html文件,IE会设限制不让你javascript执行,其他浏览器可以。
------解决方案--------------------
其实这样做吧。把div下面的a标签 target全部先去除掉。然后统一加上不就是统一了吗?伪代码,不一定正确啊:

 var len=$("div a").length();
for(var l=0;l<len;l++){
$(this).removeAttr("target");
$(this).attr("target","_blank");

}