一、this关键字:this 关键字在不同的地方表示不同的内容:
- 在全局中this指window对象
- 在函数内部:
A. 事件函数 this指事件触发者
B. 普通函数 tihs指调用者
二、自定义属性
在DOM中,允许为节点添加自定义属性
例如:div._myIndex = ‘提示信息’;
案例:
//菜单点击事件
var lis = document.getElementsByClassName('menu')[0].getElementsByTagName('li');
var ds = document.getElementsByClassName('cnt')[0].getElementsByTagName('div');
var index = 0;//保存当前显示的菜单的索引
//遍历添加点事件
for (var i = 0; i < lis.length; i++) {
lis[i]._myIndex = i;//为每一个li新增属性_myIndex 用来保存自身的索引
lis[i].onclick = function () {
//1.菜单改变
//上一个激活的修改未激活状态()
lis[index].className = "";
this.className = 'active';//被点击者修改为激活状态
//2.内容区改变
ds[index].className='';//取消正在显示的内容区(上一个)
//控制当前应该显示的div
ds[this._myIndex].className='on';
//3.修改当前展示的选项卡的索引
index = this._myIndex;//修改index的值
};
}