this和window.event.srcElement大致相同

如题,但是this更不易出错

因为如果是table的情况event.srcElement取得的是TD,而造成点击无反映,(比如表格行变色),而this正常。

那想获得TR,怎么办?用event.srcElement.parentElement.title可。

附表格变色代码:

<script type="text/javascript">
	function initEvent(){
		var trs=document.getElementsByTagName("div");
		for(var i=0;i<trs.length;i++){
			trs[i].onclick=trClick;
		}
	}
	function trClick(){
		var trs=document.getElementsByTagName("div");
		for(var i=0;i<trs.length;i++){
			if(trs[i]==event.srcElement){	//这里event.srcElement可换成this
				trs[i].style.background="#c1ffc1";
		}
			else{
				trs[i].style.background="white";
				
			}
		}
	}
</script>


 -----------------补充:------------------

this不易出错?后来又发现好象不是,

this放在标签元素里还能指本标签元素,但放在函数里就不指this了, 解决办法是把this传进去。

你可能感兴趣的:(function,table,div)