事件和节点部分总结

This的用法:
this如果在对象中使用的时候,当调用对象的方法的时候this指代当前对象,谁调用对象的方法this就是谁,就是当前调用方法的对象
this在事件中使用的时候,谁注册了事件,this也是指代当前事件源对象,谁触发事件,this就指代谁。
innerText和innerHTML的区别
innerText:在获取页面文本的时候,只获取标签间的文本信息,不包括其中的标签,有标签页渲染不出来,因为发生了转义,IE8及早期的IE浏览器支持的,老版火狐浏览器不支持innerText,支持textContent,现在两者都支持
innerHTML:可以获得标签之间的所有内容包括标签,而且有些浏览器会将获取的内容原样输出,所有浏览器都支持,没有兼容性的问题,

Html转义符:
“ &quot
‘ &apos
& &amp
< &lt
> &gt
空格 &nbsp

一些常用的事件:
onclick 鼠标单击 ondblclick 鼠标双击
onkeyup 按下并释放键盘上的一个键时
onchange 文本内容或者下拉菜单中的选项发生改变
onfocus 获得焦点 onblur 失去焦点
onmouseout 鼠标悬停 onmouseout 鼠标移出
onload 网页文档加载事件 onunload 关闭网页时
onsubmit 表单提交事件

function $$(id){
Return document.getElementById(“id”);
}
封装(解决兼容性问题)
var txt={
getInnerText:function(obj){
if(obj.innertext){
return obj.innerText;
}else{
return obj.textContent;
}
},
setInnerText:function(obj,value){
if(obj.innerText){
obj.innerText=value;
}else{
obj.textContext=value;
}
}
};

习题总结:
如果元素中的属性只有一个,在JS中,要使用Boolean值来表示,默认是false,如果要禁用的话,是true
事件只有一个的话,可以先命名函数
事件是多个的话,先进行for循环,变成一个数组,然后命名函数
例如btns[i].onclick=function(){}
排他思想,遇排他,必循环

自定义属性:可以直接给标签添加属性
还可以通过JS来设置自定义属性
txt.aa="abc" 其中txt是对象,mm是自定义的属性名,"abc"是属性值

节点知识点
父节点:parentNode会直接获取父级元素节点
子节点:childNodes标准DOM属性,既获取子标签,又获取文本,IE8中会忽略空白节点
子节点之children不是标准DOM属性,所有浏览器都支持,只返回元素节点

节点的组成:标签,属性,文本
console.log(node1.nodeType);类型
console.log(node1.nodeName);名称
console.log(node1.nodeValue);值

标签的节点类型:1
标签的节点名字:对应的标签名字
标签的节点值:null

属性的节点类型:2
属性的节点名字:对应的属性名字
属性的节点值:对应的属性中

文本的节点类型:3
文本的节点名字:#text
文本节点值:对应的文本值,没有文本值就是空

原文地址:https://www.cnblogs.com/sw1990/p/5745194.html