1 简介
- Element节点对象对应网页的HTML元素
-
2 属性
2.1 元素特性相关属性
2.1.1 Element.id
-
2.1.2 Element.tagName
-
2.1.3 Element.draggable
-
2.1.4 Element.lang
-
2.1.5 Element.tabIndex
该属性返回一个整数
-
2.1.6 Element.title
-
2.2 元素状态的相关属性
2.2.1 Element.attributes
属性返回一个类似数组的对象
-
2.2.2 Element.className
该属性用来读写当前元素节点的class属性
-
2.2.3 Element.classList
该属性返回一个类似数组的对象
- 当前节点的每个class就是这个对象的一个成员
- classList对象有如下方法:
- add(): 增加一个class
- remove(): 移除一个class
- contains(): 检查当前元素是否包含某个class
- toggle(): 将某个class移入或移出当前元素
- item(): 返回指定索引位置的class
- toString(): 将class的列表转为字符串
- toggle():
- 网页元素可以自定义添加
data-属性,用来添加数据 ```javascript
document.getElementById(“myDiv”).dataset.timestamp;
2. dataset上面的各个属性返回都是字符串2. 除了dataset读写data-属性,也可以使用Element.getAttribute()和Element.setAttribute()通过完整的属性名读写这些属性<a name="XeWMA"></a>### 2.2.5 Element.innerHTML<a name="MEBeo"></a>### 2.2.6 Element.clientHeight , Element.clientWidth<a name="dFWfy"></a>#### clientHeight1. `Element.clientHeight`属性返回一个**整数值**,单位是像素1. 只对块级元素生效,对于行内元素返回01. 返回的整数值 = **元素本身的高等+padding部分**;1. 不包含border和margin;如果有水平滚动条,要减去水平滚动条的高度1. `document.documentElement`的`clientHeight`属性返回当前视口的高度,即浏览器窗口的高度;等同于`window.innerHeight`-水平滚动条的高度1. `document.body`的高度是网页的实际高度<a name="EIp7e"></a>#### clientWidth1. 效果和clientHeight一样<a name="AYt1F"></a>### 2.2.7 Element.clientLeft 和Element.clientTop<a name="FTShS"></a>#### clientLeft1. 该属性等于元素左边框的宽度1. 如果没有设置左边框或者是行内元素,则返回01. 该属性返回整数值<a name="UW7pZ"></a>#### clientTop1. 效果等同于clientLeft1. 返回元素上边框的宽度<a name="sd479"></a>### 2.2.8 Element.scrollHeight 和 Element.scrollWidth<a name="yCFme"></a>#### scrollHeight1. 返回值是一个整数,表示当前元素的总高度,包括溢出容器、当前不可见的部分1. 该值包括padding,不包括border、margin以及水平滚动条的高度1. 整张网页的总高度可以通过:- document.documentElement.scrollHeight- document.body.scrollHeight<a name="LA5jy"></a>### 2.2.9 Element.scrollLeft 和 Element.scrollTop<a name="uXv15"></a>#### scrollLeft1. 该属性可读写1. 表示当前元素的水平滚动条向右滚动的像素数量<a name="ZmXhk"></a>### 2.2.10 Element.offsetParent1. 该属性返回最靠近当前元素的,并且CSS的position属性不等于static的上层元素```html<div stype="position:absolute"><p><span>hello</span></p></div>
- 上面代码中
span的offsetParent将返回div元素 - 该属性主要用来确认子元素位置偏移的计算基准;Element.offsetTop和Element.offsetLeft就是offsetParent元素计算得来
- 如果该元素是不可见的(
display:none)或者位置是固定的(position:fixed),offsetParent返回null -
2.2.11 Element.offsetHeight,Element.offsetWidth
offsetHeight
返回一个整数,表示元素的垂直高度
- 包括元素本身的高度,padding和border,以及水平滚动条的高度(如果存在)
只读属性,比
Element.clientHeight多了边框的高度2.2.12 Element.offsetLeft,Element.offsetTop
offsetLeft
返回当前元素左上角相对于
Element.offsetParent节点的水平位移offsetTop
-
2.2.13 Element.style
方法
事件相关的方法
-
其他方法
Element.getBoundingClientRect()
该方法返回一个对象,具有如下属性:
- x: 元素左上角相对视口的横坐标
- y: 元素左上角相对视口的纵坐标
- height: 元素高度
- width: 元素宽度
- left: 元素左上角相对视口的横坐标,和
X属性相等 - right: 元素右边界相对于视口的横坐标(等于x + width)
- top: 元素左上角相对视口的纵坐标,相当于Y属性
- bottom:元素底部相对于视口的纵坐标(等于y + height)
