0

我已经尝试过了,但循环仅适用于第一个元素。

<html><head>
<script type="text/javascript" src="http://db2.stj.s-msn.com/br/sc/js/jquery/jquery-1.4.2.min.js"></script>
<script type="text/javascript">
function link(){
var oDiv = document.getElementById("rtl");
var links = oDiv.getElementsByTagName("a");

for(var i=0;i<links.length;i++){
links[i].onclick = function(){popup(links[i]);};
break;
}
}

function popup($links){
if($links){
var $name = "Présidentielles 2012 - RTL.fr";
var largeur = "620px";
var hauteur = "560px";
var defilement = "yes";
var nPosX = (screen.width) ? (screen.width-largeur)/2 : 0;
var nPosY = (screen.height) ? (screen.height-hauteur)/2 : 0;
var $option = 'width='+largeur+',height='+hauteur+',top='+nPosX+',left='+nPosY+',scrollbars='+defilement+',resizable=no';
var Popup = window.open($links,$name,$option);
if (window.focus) {Popup.focus();}
$links.setAttribute("href","");
//delete $links;
return false;
}
}
</script>
</head>
<body onload="link();">
<div id="rtl">
<a href="test1.htm">Lien 1</a><br/><br/>
<a href="test2.htm">Lien 2</a><br/><br/>
<a href="test3.htm">Lien 3</a><br/><br/>
</di>
<div id="test">
<a href="test4.htm">Lien 1</a><br/><br/>
<a href="test4.htm">Lien 2</a><br/><br/>
<a href="test4.htm">Lien 3</a><br/><br/>
</div>
</body>
</html>

谢谢你的帮助

4

2 回答 2

2

我想删除break;会有所帮助吗?

于 2011-04-22T10:25:08.390 回答
0

如前所述,您需要删除中断;

但是,您还需要担心变量 i 的范围。

问题是 i 一直到 6 ,然后当事情随后被称为你不存在的索引链接 [6] 时,人为地为第一个链接解决了这个问题。

以下将解决您的直接问题:

links[i].onclick =
    function() { var idx=i; return function(){ popup(links[idx]);} }();

同时保持所有原始代码。

于 2011-04-22T10:42:35.890 回答