从零开始学前端:DOM、BOM、焦点事件、键盘事件 --- 今天你学习了吗?(JS:Day20)
创始人
2024-02-06 03:33:54
0

从零开始学前端:程序猿小白也可以完全掌握!—今天你学习了吗?(JS)

复习:从零开始学前端:CSSOM视图模式 — 今天你学习了吗?(JS:Day19)

文章目录

  • 从零开始学前端:程序猿小白也可以完全掌握!—今天你学习了吗?(JS)
    • 前言
    • 第十五节课:DOM、BOM、焦点事件、键盘事件
      • 一、JS三大组成部分
      • 二、DOM方法
        • 1. childNodes
        • 2. children
        • 3.nodeType
        • 4. nodeName
        • 5. tagName
        • 6. firstChild
        • 7. parentNode
        • 8. offsetParent
        • 9. createElement/appendChild
        • 10. removeChild
        • 11. replaceChild
      • 三、BOM(browser object Model) 浏览器对象

前言

最近有点忙,又拉下了。

第十五节课:DOM、BOM、焦点事件、键盘事件

一、JS三大组成部分

  1. es (ECMAScript) 语法
  2. DOM 文档对象模型
  3. BOM 浏览器对象模型

DOM:是一个对象文档对象模型
1.操作标签节点
2.严格不专属于js

        var box = document.querySelector('#box');// childNodes获取到所有的子节点,包括文本节点。console.log(box.childNodes);// text节点  文本节点 :空格,任意的文字,换行,空白行// document.documentElement/* 节点:1.元素节点(ele) element2.text节点  文本节点 :空格,任意的文字,换行,空白行3.属性节点4.注释节点comment*/// children:返回第一级子元素节点;console.log(box.children);// 元素节点的节点类型;console.log(box.childNodes[6].nodeType);// nodeName返回节点名称console.log(box.children[3].nodeName);// tagName返回节点名称 console.log(box.children[3].tagName);console.log(box.getAttribute('id')); // 值console.log(box.getAttributeNode('id')); //id 名 值console.log(box.getAttributeNode('name')); // null// 返回第一个节点console.log(box.firstChild);// 返回第一个元素节点       console.log(box.firstElementChild)// 返回最后一个节点console.log(box.lastChild);// 返回最后一个元素节点console.log(box.lastElementChild);// 兄弟节点console.log(box.nextSibling)// 兄弟元素节点console.log(box.nextElementSibling)// 找父节点console.log(box.parentNode)// 找父节点console.log(box.offsetParent)// 获取元素节点个数console.log(box.childElementCount);

效果:
在这里插入图片描述

二、DOM方法

1. childNodes

获取到所有的子节点,包括文本节点。


Document

2. children

返回第一级子元素节点
box.children
返回一个类数组,类数组的取值操作:[ ]下标取值;
children是一个属性,不是一个方法,所以不用加()

3.nodeType

元素节点的节点类型

var box = document.getElementById('box');console.log( box.childNodes[0].nodeType ) //3console.log( box.children[0].nodeType ) //1//不同的节点,数据类型是不一样。比如:类数组与类组,类型不一样。//百度找nodeType元素节点的类型:1;属性:2;text文本内容:3;注释:8;

4. nodeName

返回节点名称

console.log( box.children[0].nodeName );
123
123
box.children[0].onclick = function(){alert( 123 ) } //children为类数组,类数组通常有length的方法;属于动态获取;只要里面孩子的个数变了,都能动态地反馈出来。

5. tagName

//与nodeName的区别 
console.log( box.childNodes[1].nodeName );  // document 能返回注释节点
console.log( box.childNodes[1].tagName );   // 返回undefined//区别:nodeName能返回各种各样的节点,但是tagName只能返回对象节点;

6. firstChild

//返回第一个子节点//在主流浏览器返回子节点//在低版本IE的情况下返回的是元素节点console.log( box.firstChild );

7. parentNode

//返回父节点 , 没有兼容问题console.log( box.parentNode );

8. offsetParent

div{width:300px; height:300px;background-color: #90f;}div#box{position:absolute; }p{background-color:#f0f;font-size:30px;}
123
123
//返回定位父级console.log( p2.offsetParent )

9. createElement/appendChild

创建元素与添加子节点,通常是结合起来使用的。
clone:

var cloneBox = box.cloneNode(); //有两个值,默认为false.false:  //代表的是浅复制,浅复制只复制节点本身,不复制子元素的内容,只复制标签本身。true:   //深度复制,深度复制里面有什么东西的话,JS里面也是要有(比如属性,事件,)。​document.body.appendChild( cloneBox );

10. removeChild

删除子节点(通过父级来杀,不能自杀)**

var wrap = document.getElementsByClassName('wrap');box.removeChild( wrap[1] );//如果有多个节点的话,先找到子节点之后再去找到父级

11. replaceChild

wrap1
wrap2
wrap3
wrap4
​var wrap = document.getElementsByClassName('wrap')[1];var p = document.createElement('p');p.innerHTML = 'p0';box.replaceChild( p , wrap );//node.replaceChild(newnode,oldnode)

三、BOM(browser object Model) 浏览器对象

相关内容

热门资讯

喜欢穿一身黑的男生性格(喜欢穿... 今天百科达人给各位分享喜欢穿一身黑的男生性格的知识,其中也会对喜欢穿一身黑衣服的男人人好相处吗进行解...
发春是什么意思(思春和发春是什... 本篇文章极速百科给大家谈谈发春是什么意思,以及思春和发春是什么意思对应的知识点,希望对各位有所帮助,...
网络用语zl是什么意思(zl是... 今天给各位分享网络用语zl是什么意思的知识,其中也会对zl是啥意思是什么网络用语进行解释,如果能碰巧...
为什么酷狗音乐自己唱的歌不能下... 本篇文章极速百科小编给大家谈谈为什么酷狗音乐自己唱的歌不能下载到本地?,以及为什么酷狗下载的歌曲不是...
华为下载未安装的文件去哪找(华... 今天百科达人给各位分享华为下载未安装的文件去哪找的知识,其中也会对华为下载未安装的文件去哪找到进行解...
家里可以做假山养金鱼吗(假山能... 今天百科达人给各位分享家里可以做假山养金鱼吗的知识,其中也会对假山能放鱼缸里吗进行解释,如果能碰巧解...
四分五裂是什么生肖什么动物(四... 本篇文章极速百科小编给大家谈谈四分五裂是什么生肖什么动物,以及四分五裂打一生肖是什么对应的知识点,希...
怎么往应用助手里添加应用(应用... 今天百科达人给各位分享怎么往应用助手里添加应用的知识,其中也会对应用助手怎么添加微信进行解释,如果能...
客厅放八骏马摆件可以吗(家里摆... 今天给各位分享客厅放八骏马摆件可以吗的知识,其中也会对家里摆八骏马摆件好吗进行解释,如果能碰巧解决你...
美团联名卡审核成功待激活(美团... 今天百科达人给各位分享美团联名卡审核成功待激活的知识,其中也会对美团联名卡审核未通过进行解释,如果能...