DOM-Element

1 .element对应网页的HTML元素,每一个HTML元素,在dom树上都会转化为一个Element对象,元素节点的nodeType属性都是1.
2 .不同的HTML元素对应的元素节点是不一样的,浏览器使用不同的构造函数,可以生成不同的元素节点。比如a,button都是不同种类的对象
3 .因此元素节点不是一种对象,而是一组对象,这些对象除了继承了element的属性和方法,还有各自的属性和方法。

实例属性

1 .el.id:大小写敏感,可读写
2 .el.tagName:返回元素的大写标签名,与nodeName属性的值相等
3 .el.dir:读写当前元素的文字方向,从左到右,从右到左
4 .el.accessKey:读写分配给当前元素的快捷键 alt +设置的快捷键
5 .draggable:返回一个可读写的布尔值,表示当前元素是否可以拖动。
6 .el.lang:返回当前元素的语言设置,可以读写
7 .el.tabindex:返回一个整数,表示当前元素在tab键遍历的时候的顺序,该属性可以读写
8 .el.title:读写当前元素的HTML属性title,该属性通常用来指定鼠标悬浮时弹出的文字提示框
9 .el.hidden:bool,显示当前元素是否可见,可读写.该属性与css设置是相互独立的,这个属性只有在css没有明确指定当前元素的可见性时才有效
10 .el.contentEditable:设置元素的值,使得元素的内容可以编辑,这个使用js作别一种别的实现

1.true:元素内容可编辑
2.fasle:元素内容不可编辑
3.inherit:继承父元素的设置

11 .el.attributes:返回一组类似数组的对象,成员是当前元素节点的所有属性节点
12 .el.className:读写当前元素节点的class属性,他的值是一个字符串,每个class之间用空格分割
13 .el.classList:返回一个类似数组的对象,当前元素节点的每个class都是这个对象的一个成员

1.add
2.remove
3.contains
4.toggle
5.item:返回指定索引位置的class
6.toString:将class的列表转换为字符串

14 .el.dataset.x:返回一个元素的自定义属性。可读写
15 .innerHTML:返回一个字符串,等同于该元素内包含的所有html代码。可读写,可以改写所有元素节点内的内容,包括HTML和body元素。有安全风险,如果插入的是文本,使用textContent属性代替innerHTML
16 .outerHTML:返回一个字符串,表示当前元素节点的所有HTML代码,包括该元素本身和所有子元素。还是可读写元素,对他赋值,就相当于连本身元素都一起替换掉。如果一个元素没有父节点,那么设置这个属性就会报错
17 .el.clientHeight,el.clientWidth:返回当前元素节点的css高度,单位是像素,只对块级元素生效,行内元素返回0,不包括padding,但是不包括border,margin。如果有水平滚动条,还要减去水平滚动条,而且这个值始终是整数,会自动取整。
18 .document.documentElement.clientHeight:返回当前浏览器的窗口的高度,等同于window.innerHeight-水平滚动调的高度。
19 .document.body.clientHeight:网页的实际高度。
20 .Element.clientLeft,el.clientTop:返回节点元素左边框的宽度,不包括左侧的padding和margin.
21 .el.scrollHeight,el.scrollWidth:返回当前元素的总高度,总宽度,包括溢出容器,当前的不可见的部分。包括padding,但是不包括border,margin以及水平滚动条的高度,还包括伪类元素的高度。
22 .document.documentElement.scrollHeight:整张网页的高度。
23 .document.body.scrollHeight:整张网页的高度。即时元素节点的内容出现溢出,即使溢出的内容是隐藏的,scrollHeight属性仍然可以返回元素的总高度。
24 .el.scrollLeft,el.scrollTop:当前元素的水平滚动条向右,向下滚动的像素数量。对于没有滚动条的元素的网页,这俩个元素总是等于0.隐藏在内容左侧的像素
25 .document.socumentElement.scrollTop:返回整张网页的水平和垂直滚动距离.这个属性是可读的
26 .el.offsetParent:返回当前最靠近元素的,并且css的position属性不等于static的上层元素。主要用于确定子元素位置偏移的计算基准。el.offsetTop,el.offsetLeft都是根据offsetParent元素计算的。如果该元素是不可见的,或者位置是固定的,position的属性是fixed,则offsetparent属性返回bull.
27 .el.offsetHeight,el.offsetWidth:返回元素的垂直高度,包括元素本身的高度,padding,和border,以及可能的水平滚动条。这两个属性是只读属性,如果元素的css设置为不可见,则返回0
28 .el.offsetLeft,el.offsetTop:返回元素左上角相对于el.offsetParent节点的水平位移。

function(e){
  let x=0;
  let y=0;
while(e !==null){
  x+=e.offsetleft;
  y+=e.offsetTop;
  e=e.offsetParent;
}
return {x,y}
}

29 .el.children:分返回当前元素节点的所有子元素,只包含元素类型的子节点,不包括其他类型的子节点。
30 .el.firstElementChild,el.lastElementChild:返回当前元素的字一个元素子节点。
31 .el.nextElementSibling,el.previousElementSibling:返回当前元素节点的后一个同一元素节点,如果没有则返回null。

实例方法

属性的相关方法

1 .getAttribute()读取某个属性的值。
2 .getAttributeNames()返回当前元素的所有属性名
3 .setAttribute()写入某个属性值
4 .hasAttruibute()是否有某个属性
5 .hasAttributes()当前元素是否有属性
6 .removeAttribute()删除属性
7 .浏览器执行querySelector方法时,会现在全局范围内搜索给定的css选择器,然后过滤出哪些是属于当前元素的子元素。
8 .还有一些选择元素的方法
9 .el.closest():返回匹配该选择器的,最接近当前节点的一个祖先节点。如果没有任何子节点匹配css选择器,则返回null
10 .el.matches():返回一个布尔值,表示当前元素是否匹配给定的css选择器。

事件的相关方法

1 .继承自EventTarget接口
2 .el.addEventListener():添加事件的回调函数。
3 .el.removeeventListener():移除事件监听函数
4 .el.dispatchEvent():触发事件
5 .el.scrollIntoView(true/false):一定当前元素,进入浏览器的可见区域。true:元素的顶部与当前区域的可见部分对齐,如果为false,表示当前元素的底部与当前区域的可见部分对齐,前提必须是当前区域可滚动。
6 .el.getBoundingClientRect():返回当前元素节点css盒模型的所有信息

1.x:元素左上角相对于视口的横坐标
2.width:元素宽度
3.left:与x相等
4.right:x+width
5 .由于元素相对于视口会随着页面的滚动变化,所以表示位置的四个值都不是固定不变的,因此,left+window.scrollX=绝对位置
6.width是包括了元素本身+padding+border。
7.

7 .el.getClientRects():当前元素在页面上形成的所有矩形,每个矩形都有上述属性。对于盒状元素,返回的成员中只有一个成员,如果是行内元素,返回对象的成员有多少,取决于该元素在页面内所占的行数。这个方法主要用来判断行内元素是否有换行,以及每一行的位置偏移。
8 .还有很多重复的方法,比如el.remove(),就是继承自ChildNode接口
9 .el.focus({preventScroll:false}),el.blur():将当前页面的焦点,转移到指定元素上。里面可以传一个参数,指定是否将当前元素停留在原始位置,而不是滚动到可见区域。
10 .el.click()在当前元素上模拟一次鼠标点击,相当于触发click事件。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 212,657评论 6 492
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,662评论 3 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 158,143评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,732评论 1 284
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,837评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,036评论 1 291
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,126评论 3 410
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,868评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,315评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,641评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,773评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,470评论 4 333
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,126评论 3 317
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,859评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,095评论 1 267
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,584评论 2 362
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,676评论 2 351

推荐阅读更多精彩内容

  • Element对象对应网页的HTML标签元素。每一个HTML标签元素,在DOM树上都会转化成一个Element节点...
    许先生__阅读 1,799评论 0 2
  •   DOM 1 级主要定义的是 HTML 和 XML 文档的底层结构。   DOM2 和 DOM3 级则在这个结构...
    霜天晓阅读 1,428评论 1 3
  • Element对象对应网页的HTML标签元素。每一个HTML标签元素,在DOM树上都会转化成一个Element节点...
    周花花啊阅读 1,069评论 0 0
  • 原文 https://www.kancloud.cn/dennis/tgjavascript/241852 一、节...
    LuckyS007阅读 849评论 0 0
  • API集锦,需要用时查阅用。 一、节点1.1 节点属性 Node.nodeName //返回节点名称,只读Node...
    littleyu阅读 2,678评论 0 8