首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > JavaScript >

请问js的一个弹窗有关问题

2013-09-28 
请教js的一个弹窗问题js代码:indow.onloadfunction a(){var nodesdocument.getElementsByTagName(a)

请教js的一个弹窗问题
js代码:indow.onload=function a()
  {var nodes=document.getElementsByTagName('a');
 nodes[3].onclick='alert(this.title)';}
html代码:
<a href='#' onclick='a();' title='china'>中国</a>
就弹不出标题,但是换成
nodes[3].onclick=function()
  {
  alert(this.title);
  }
就可以弹出标题窗口了,为什么?难道js里的onclick只能跟function的匿名函数吗?感到困惑,请js高手指点一下。 javascript??弹窗
[解决办法]
是this问题
<a href='#' onclick='a();' title='china'>中国</a> 这样写 a() 里 this 不是A 而是window


[解决办法]

引用:
Quote: 引用:

Quote: 引用:

js代码:indow.onload=function a()
  {var nodes=document.getElementsByTagName('a');
 nodes[3].onclick='alert(this.title)';}
html代码:
<a href='#' onclick='a();' title='china'>中国</a>
就弹不出标题,但是换成
nodes[3].onclick=function()
  {
  alert(this.title);
  }
就可以弹出标题窗口了,为什么?难道js里的onclick只能跟function的匿名函数吗?感到困惑,请js高手指点一下。

'alert(this.title)'这是字符串

但是去掉单引号,确弹窗undefined,而不会弹出正确的标题,为什么呢?

去掉单引号是把aler()这个执行的函数返回值赋值给nodes[3].onclick属性,而alert(this.title)没返回值,只执行,其中this是window,window没title属性,即undefined

热点排行