JS-dom 操作day1

1、节点的相关属性
nodeType 节点的类型:返回值:1--标签 、返回值:2--属性、返回值:3--文本
nodeName 节点的名字 标签的节点--大写的标签、属性的节点--小写的属性的名字、文本节点--#text
nodeValue 节点的值 标签节点--null、属性的节点--属性的值、文本节点--文本的内容
2、获取相关的节点
获取父节点 console.log(对象.parentNode);
获取父元素 console.log(对象.parentElement);
获取子节点 console.log(对象.childNodes);
获取子元素 console.log(对象children);
获取第一个子节点console.log(对象.firstChild);
获取第一个子元素console.log(对象.firstElementChild);
获取最后一个子节点console.log(对象.lastChild);
获取最后一个子元素console.log(对象.lastElementChild);
获取元素的前一个兄弟节点console.log(对象.previousSibling);
获取元素的前一个兄弟元素console.log(对象.previousElementSibling);
获取元素的后一个兄弟节点console.log(对象.nextSibling);
获取元素的后一个兄弟元素console.log(对象.nextElementbling);
3、节点的兼容代码
element.firstChild--->谷歌和火狐获取的是第一个子几点
element.firstChile--->IE8获取的是第一个子元素
element.firstElementChild------>谷歌和火狐是第一个子元素,IE8不支持

//获取任意一个父级元素的第一个子级元素
function getFirstElementChild(element) {
if(element.firstElementChild){//true--->支持
return element.firstElementChild;
}else{
var node=element.firstChild;//第一个节点
while (node&&node.nodeType!=1){
node=node.nextSibling;
}
return node;
}
}
//获取任意一个父级元素的最后一个子级元素
function getLastElementChild(element) {
if(element.lastElementChild){//true--->支持
return element.lastElementChild;
}else{
var node=element.lastChild;//第一个节点
while (node&&node.nodeType!=1){
node=node.previousSibling;
}
return node;
}
}
4、元素创建的三种方式
a.document.write(标签的代码及内容);
document.write创建元素,缺陷:如果是在页面加载完毕后,此时通过这种方式创建元素,那么页面上存在的所有的内容全部被干掉
b.对象.innerHtml="标签及代码";
c.document.createElement("标签的名字");
*第三种创建元素的方式:创建后的元素,如果是子元素需要追加的父元素里面去
父元素对象.appendChild(子元素对象);

5、元素的相关方法
//把新的子元素插入到第一个子元素的前面
父对象.insertBefore(obj,父对象firstElementChild);
//移除父级元素中第一个子级元素
父对象.removeChild(父对象.firstElementChild);
};
6、为元素绑定多个事件
a.对象.addEventListener(事件类型,事件处理函数,false); 谷歌火狐支持的 IE不支持
b.对象.attachEvent(有on的事件类型,事件处理函数);谷歌火狐都不支持 IE支持
*注意:
为按钮绑定点击事件
参数1:事件的类型---事件的名字,没有on
参数2:事件处理函数---函数(命名函数,匿名函数)
参数3:布尔类型,目前就写false-----没有为什么,不解释,明天说
对象.addEventListener("click",function(){
console.log("我是元素1");
},false);
对象.addEventListener("click",function(){
console.log("我是元素2");
},false);
*注意:
参数1:事件类型---事件名字,有on
参数2:事件处理函数---函数(命名函数,匿名函数)
对象attachEvent("onclick",function(){
console.log("我是元素1");
});
对象.attachEvent("onclick",function(){
console.log("我是元素2");
});
7、为元素绑定多个事件兼容代码
//为任意元素.绑定任意的事件, 任意的元素,事件的类型,事件处理函数
function addEventListener(element,type,fn) {
//判断浏览器是否支持这个方法
if(element.addEventListener){
element.addEventListener(type,fn,false);
}else if(element.attachEvent){
element.attachEvent("on"+type,fn);
}else{
element["on"+type]=fn;
}
}
addEventListener(对象,"click",function () {
console.log("哦1");
});
addEventListener(对象,"click",function () {
console.log("哦2");
});

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 原文 https://www.kancloud.cn/dennis/tgjavascript/241852 一、节...
    LuckyS007阅读 4,284评论 0 0
  • 第一部分 HTML&CSS整理答案 1. 什么是HTML5? 答:HTML5是最新的HTML标准。 注意:讲述HT...
    kismetajun阅读 28,277评论 1 45
  • 节点属性 Node.nodeName //返回节点名称,只读 Node.nodeType //返回节点类型的常数值...
    吴博阅读 3,483评论 0 0
  • 第3章 基本概念 3.1 语法 3.2 关键字和保留字 3.3 变量 3.4 数据类型 5种简单数据类型:Unde...
    RickCole阅读 10,703评论 0 21
  • 云对蓝天的爱恋 是因为透过雨滴的视线 许下来生再见
    泊客行阅读 1,549评论 0 0

友情链接更多精彩内容