部分代码<script> function opening(site) { window.open(site, "newpage", "width=800;height=500"); } window.onload = openNew; function openNew() { var links = document.getElementsByTagName("a"); for (var i = 0; i < links.length; i++) { if (links[i].getAttribute("class") === "openNewWeb") { links[i].onclick = function () { // var urll = links[i].getAttribute("href"); //opening(urll); opening(this.getAttribute("href"));//这句和上面注释掉的两句差异在哪?为什么点击连接后该句打开了新窗口而上面两句没有? return false; }; } } } </script> <a class="openNewWeb" href="http://www.cctv.com/" >click here to open CCTV!</a> <a class="openNewWeb" href="http://www.people.com.cn/" >click here to open People!</a>
1 回答
已采纳
磁单极
TA贡献22条经验 获得超19个赞
你那上面的两句语法有问题,这里的links[i].getAttribute("href");注意注意,这个links[i]是undefined,所以js报错,导致后面的语句根本就没有执行,所以他会执行底下的超链接在原来的页面上打开页面,没有执行opening function,所以没有打开新的窗口你可以在如图的位置加上一个alert(typeof link[i])验证一下是不是undefined,至于为什么,你可以再想一想,或者你把上面的link[i]换成this效果和底下的一句是一样的。
添加回答
举报
0/150
提交
取消