while(target.tagName != 'LI' || target.tagName == 'BODY'){
target = target.parentNode;
}
这个方法怎么读,怎么找到了需要变更class的元素的?
首先要理解事件模型,事件模型大概可以看成一个勾√,左边是捕获阶段,右边是冒泡阶段,冒泡顾名思义就是从最下面向上传递。
这个是你先将鼠标移动进去,发现是最里层的元素,名字不叫LI,假设是A,那么target.tagName != 'LI'条件成立,执行条件里的内容 target = target.parentNode;此时就找到了LI,然后再执行条件,条件不满足就跳出循环。
此时已经获得了LI。