JavaScript 基础 学习

节点属性

​ 每一个节点都有自己的特点

​ 这个节点属性就记录着属于自己节点的特点

1. nodeType(以一个数字来表示这个节点类型)

语法:节点.nodeType

得到: 一个数字,代表着这个节点的类型

​ 元素节点:1

​ 属性节点:2

​ 文本节点:3

​ 注释节点:8

例如:判定节点是不是元素节点,只要判断他的 nodeType === 1就可以了

2.nodeName(节点名称)

语法: 节点.nodeName

得到: 一个名称,属于这个节点的名称

​ 元素节点:大写标签名(全是大写)

​ 属性节点:属性名

​ 文本节点:#text (所有文本节点的名字都叫做 #text )

​ 注释节点:#comment (所有的注释节点名字都叫做 #comment)

例如: 将来我获取到某一个节点,确定了他是原元素节点,但是不确定是按一个元素

​ 我只有判读他的 nodeName === 'DIV' , 就能确定他是一个 div 标签

3.nodeValue(节点的值)

语法: 节点.nodeValue

得到: 一个值,这个节点存储的值

​ 元素节点:null ,元素节点没有值

​ 属性节点:属性的值

​ 文本节点:这个节点所代表的文本内容(包括换行和空格)

​ 注释节点:这个注释里面所写的文本内容(包括换行和空格)

节点操作 - 创建节点

​ 创建节点 - 通过 JS 代码创建一个标签

1.document.createElement() - 在文档流里面创建一个节点

语法: document.createElement ('你要创建的元素节点名称小写就行')

返回值: 就是一个创建好的元素节点

​ 和你在页面上获取的元素节点没有任何区别

​ 只不过创建出来的节点没有在页面上

2.document.createTextNode() - 文档流里面创建一个文本节点

语法: document.createTextNode ('你要创建的文本内容')

返回值: 就是一个文本节点

​ 和你在页面上获取来的文本节点一样,没有区别

​ 只不过一个在页面上,一个是我凭空捏造

节点操作 - 插入节点

​ 就是把一个节点添加到另一个节点里面作为子节点使用

​ 注意:一般都是把节点添加到某一个元素节点里面

1.appendChild()

作用: 向某一个父节点内追加一个子节点

语法: 父节点.appendChild (要追加的子节点)

结果: 子节点被添加到父节点里面了,排在所有节点的最后一个位置

2.insertBefore()

作用: 向某一个父节点内插入一个子节点,插入到本身的某一个子节点的前面

语法: 父节点.insertBefore (你要插入的节点,哪一个已经存在的子节点前面)

结果: 就是把该节点插入到父节点的指定节点前面

节点操作 - 删除节点

​ 就是把一个已经存在的节点移出

1.removeChild()

作用: 从父节点里面移除某一个子节点

语法: 父节点.removeChild (你要移出的子节点)

结果: 该节点里面不再有这个子节点了

2.remove()

作用: 把自己移出

语法: 要移除的节点.remove ()

结果: 自己直接被移除掉

节点操作 - 替换节点

​ 就是用某一个节点,去替换一个已经存在的节点

1.replaceChild()

作用: 就是把父节点下的某一个子节点替换成新节点

语法: 父节点.replaceChild (新节点,旧节点)

结果: 使用新节点,把旧几替换掉

节点操作 - 克隆节点

​ 把一个已经存在的节点(可以是页面里面获取了,也可以是自己创建的)

1.cloneNode()

作用: 把节点复制一模一样的

语法: 要克隆的节点.cloneNode (参数选填)

​ 默认值是 false ,表示不克隆后代节点

​ 可以选填 true ,表示克隆所有后代节点

返回值: 就是一个已经被克隆好的节点

​ 克隆出来的标签不在页面上,是在 JS 代码里面(在内存里面)

获取元素的非行内样式

1.getComputedStyle() 方法

​ 标准浏览器使用(高版本浏览器)

作用: 获取元素的样式(包含行内样式和非行内样式)

语法: window.getComputedStyle (你要获取样式的元素)

返回值: 是一个对象,里面包含所有元素目前的样式

​ 只读的对象,只能获取元素的样式

​ 你需要哪一个样式的时候,直接在对象里面获取某一个样式的值

2.currentStyle 属性

IE 低版本使用(IE 6 7 8 )

语法: 要获取样式的元素.currentStyle (包含行内样式和非行内样式)

得到: 就是一个对象,里面包含元素多有的目前的样式

兼容: 不能用 || 来兼容

​ 需要用 if else 来判断

获取元素偏移量 - 参考系

​ 一个元素的偏移量参考元素就是这个元素的 定位父级

1.offsetParent 属性

作用: 获取元素的偏移量参考父元素

语法: 元素.offsetParent

得到: 就是你这个元素获取偏移量的时候是根据谁来的

获取元素的偏移量 - 元素偏移量

1.offsetLeft

语法: 元素.offsetLeft

得到: 元素相对于参考元素左侧的距离

2.offsetTop

语法: 元素.offsetTop

得到: 元素相对于参考元素上边的距离

获取元素尺寸

​ 获取元素在 页面 上的 占地面积

display:none; 那么获取不到(消失不占位)

visibility:hidden;那么可以获取到(消失占位)

opacity:0; 那么乐意获取到(不显示,但是占位)

注意: 获取到的是没有单位的数字,可以直接参与运算

1.offsetWidth 和 offsetHeight

​ 获取到的是元素的 边框 + 内边距 + 内容 区域的尺寸

offsetWidth 是宽度

offsetHeight 是高度

2.clienWidth 和 clienHeight

​ 获取到的是元素的 内边距 + 内容 区域的尺寸

clienWidth 是宽度

offsetHeight 是高度

获取浏览器窗口大小

​ 获取浏览器可视窗口大小

​ 之前我们学过一组属性, innerWidthinnerHeight

​ 它们获取到的是包含滚动条的尺寸

​ 今天我们再学习一下获取窗口尺寸的另外的办法

​ 获取到的是不包含滚动条的尺寸

​ 其实你要是获取不包含滚动条的尺寸

​ 就是在获取页面的 占地面积

1. document.documentElement.clientWidth

​ => 页面的宽度(不包含滚动条)

2. document.documentElement.clientHeight

​ => 页面的高度(不包含滚动条)

JavaScript 基础 学习 (二)的更多相关文章

  1. JavaScript基础学习(二)—JavaScript基本概念

    一.语法 1.区分大小写     JavaScript是一种弱类型的脚本语言.它区分大小写,变量名test与Test表示两个完全不同的变量.   2.标识符      所谓标识符就是变量.函数.属性的 ...

  2. JavaScript 基础学习(二)js 和 html 的结合方式

    第一种 使用一个标签 <script type="text/javascript"> js代码; </script> 第二种 使用 script 标签,引入 ...

  3. JavaScript 基础学习1-day14

    JavaScript 基础学习1 知识预览JavaScript概述二 JavaScript的基础三 JavaScript的对象BOM对象DOM对象实例练习js扩展 JavaScript概述 JavaS ...

  4. JavaScript基础笔记二

    一.函数返回值1.什么是函数返回值    函数的执行结果2. 可以没有return // 没有return或者return后面为空则会返回undefined3.一个函数应该只返回一种类型的值 二.可变 ...

  5. Python入门基础学习 二

    Python入门基础学习 二 猜数字小游戏进阶版 修改建议: 猜错的时候程序可以给出提示,告诉用户猜测的数字偏大还是偏小: 没运行一次程序只能猜测一次,应该提供多次机会给用户猜测: 每次运行程序,答案 ...

  6. 48.javascript基础学习

    javascript基础学习:   http://www.w3school.com.cn/jsref/index.asp jS的引入方式: 1.行间事件:为某一个具体的元素标签赋予js内容,oncli ...

  7. Python基础学习二

    Python基础学习二 1.编码 utf-8编码:自动将英文保存为1个字符,中文3个字符.ASCll编码被囊括在内. unicode:将所有字符保存为2给字符,容纳了世界上所有的编码. 2.字符串内置 ...

  8. Go基础学习(二)

    数组[array] 数组定义[定义后长度不可变] 12 symbol := [...]string{USD: "$", EUR: "€", GBP: " ...

  9. JavaScript 基础 学习 (四)

    JavaScript 基础 学习 (四) 解绑事件 dom级 事件解绑 ​ 元素.on事件类型 = null ​ 因为赋值的关系,所以给事件赋值为 null 的时候 ​ 事件触发的时候,就没有事件处理 ...

随机推荐

  1. json 拼装空list、object

    import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; public class FastJson ...

  2. 【漏洞复现】Fastjson <=1.2.47远程命令执行

      0x01 漏洞概述 漏洞描述 Fastjson是一款开源JSON解析库,它可以解析JSON格式的字符串,支持将Java Bean序列化为JSON字符串,也可以从JSON字符串反序列化到JavaBe ...

  3. CSS中link和@import的区别

    1.link属于HTML标签,而@import是CSS提供的 2.页面被加载时link会同时被加载:而@import引用的CSS会等到页面被加载完再加载 3.@import只在IE5以上才能识别,而l ...

  4. web api(基于NFine框架) 中接口跳转数据格式错误解决方案

    using NFine.Code; using NFine.Domain; using System.Web.Http; using Newtonsoft.Json; namespace Api.Co ...

  5. 写给大忙人的Redis主从复制,花费五分钟让你面试不尴尬

    相信很多小伙伴都已经配置过主从复制,但是对于redis主从复制的工作流程和常见问题很多都没有深入的了解.咔咔这次用时俩天时间给大家整理一份redis主从复制的全部知识点. 本文实现所需环境 cento ...

  6. 11.实战交付一套dubbo微服务到k8s集群(3)之dubbo微服务底包镜像制作

    1.下载jre镜像并推送到harbor [root@hdss7- ~]# docker pull registry.cn-hangzhou.aliyuncs.com/yfhub/jre8:8u112 ...

  7. RocksDB事务的隔离性分析【原创】

    Rocksdb事务隔离性指的是多线程并发事务使用时候,事务与事务之间的隔离性,通过加锁机制来实现,本文重点剖析Read Commited隔离级别下,Rocksdb的加锁机制. Rocksdb事务相关类 ...

  8. Android安全初学笔记

    安全概述 安全主要解决4类问题 保密:不希望第三方窥探 鉴别:与你通信的人可以被确认 完整性:不能被随意篡改,或者能鉴别是否被篡改 不可否认性:能确认产生信息的人,并且产生该信息的人在何时都无法否认产 ...

  9. leetcode125. 验证回文串 python 简单

    125. 验证回文串 难度简单     给定一个字符串,验证它是否是回文串,只考虑字母和数字字符,可以忽略字母的大小写. 说明:本题中,我们将空字符串定义为有效的回文串. 示例 1: 输入: &quo ...

  10. Java | 顶层类(Top-Level Class)

    前言 本文内容根据 Java 官方教程中的<课程:类和对象>编写而成. 本文提供的是 JDK 14 的示例代码. 定义 顶层类(Top-Level Class),是 Java 中对类的一种 ...