JS常用API合集-节点篇

节点

Dom树由节点构成,节点分为多种类型,又有不同的方法

 #节点属性:
  Node.nodeName;//节点的名称
  Node.nodeType;//节点类型
  Node.nodeValue;//节点文本值
  Node.children;//获取子元素集合
  Node.parentElement;//获取父元素
  Node.nextElementSibling;//下一个元素
  Node.previousElementSibling;//上一个元素
  Node.lastElementChild;//最后一个元素
  Node.firstElementChild;//第一个元素

 #常用操作:
  Node.appendChild();//添加子节点
  Node.hasChildNodes();//是否包含子节点
  Node.cloneNode();//复制节点
  Node.insertBefore();//在之前插入
  Node.removeChild();//移除子节点
  Node.replaceChild();//替换子节点
  Node.contains();//是否包含子节点
  Node.remove();//移除自身

Document节点

document是documentHTML的一个实例,也是window对象的一个属性,因此可以将document作为一个全局对象来访问。

# Document节点的属性:
 document.documentElement;//html
 document.head;//head
 document.body;//body
 //节点集合属性
 document.links;//文档中 所有A标签
 document.images;//文档中 所有图片元素
 document.scripts;//文档中 所有脚本
 document.forms;//文档中 所有表单元素
 document.styleSheets;//文档中 所有样式表
 //文档信息属性
 document.Url;//文档网址
 document.location;//文档location对象
 document.title;//文档标题
 document.cookie;//操作cookie

# Document节点的方法:
> 读写方法:
  document.open();//新建并打开文档
  document.close();//关闭当前文档
  document.write();//向当前文档中写入内容
  document.writeln();//向当前文档中写入内容并还行

> 查找节点:
  document.querySelector();//传入一个css选择器,返回第一个匹配该选择器的元素节点
  document.querySelectorAll();//传入一个css选择器,返回所有匹配该选择器的元素节点
  document.getElementsByName();//选择拥有name属性的html元素
  document.getElementsByTagName();//选择拥有指定标签的html元素
  document.getElementById();//选择拥有指定ID的html元素
  document.getElementsByClassName();//返回所有css名字符合的html元素

> 生成节点:
  document.createElement();//新元素节点
  document.createTextNode();//新文本节点
  document.createAttribute();//新属性节点

> 事件方法:
  document.addEventListener();//事件监听
  document.removeEventListener();//取消事件监听

Element节点

Element 节点表示 HTML 文档中的元素。元素可包含属性、其他元素或文本

# Element节点属性: 
> 特殊属性:
  Element.attributes();//当前元素的所有属性
  Element.id;//节点的id
  Element.tagName;//节点的HTML标签
  Element.className;//节点的class名字
  Element.classList;//节点的class名字集合
  Element.dataset;//节点的自定义属性
  Element.innerHTML;//节点内插入内容(不包括自身)
  Element.innerText;//节点内插入文本
  Element.outerHTML;//节点(包括自身)替换成别的HTML代码

> 尺寸属性:
  Element.clientHeight;//元素可见区域的高度
  Element.clientWidth;//元素可见区域的宽度
  Element.clientLeft;//元素节点左边框的宽度
  Element.clientTop;//元素节点上边框的高度
  Element.scrollHeight;//元素总高度
  Element.scrollWidth;//元素总宽度
  Element.scrollLeft;//元素距离左边的滚动距离
  Element.scrollTop;//元素距离上边的滚动距离
  Element.offsetHeight;//元素垂直高度
  Element.offsetWidth;//元素水平宽度
  Element.offsetLeft;//元素距离父元素左上角距离
  Element.offsetTop;//返回水平位移

> 节点相关属性:
  Element.children;//获取子元素集合
  Element.parentElement;//获取父元素
  Element.nextElementSibling;//下一个元素
  Element.previousElementSibling;//上一个元素
  Element.lastElementChild;//最后一个元素
  Element.firstElementChild;//第一个元素
  Element.offsetParent;//返回css属性不是static的父元素

# Element节点的方法
> 位置方法: 
  var box=document.getElementById('box');
  box.getBoundingClientRect().top;// 元素上边距离页面上边的距离
  box.getBoundingClientRect().right;// 元素右边距离页面上边的距离
  box.getBoundingClientRect().bottom;// 元素下边距离页面上边的距离
  box.getBoundingClientRect().left;// 元素左边距离页面上边的距离
  box.getBoundingClientRect().width;// 元素自身的宽度
  box.getBoundingClientRect().height;// 元素自身的高度

> 属性方法:
  Element.setAttribute();//设置元素的属性
  Element.getAttribute();//获取元素的属性
  Element.removeAttribute();//移除元素的属性
  Element.hasAttribute();//元素是否包含该属性

> 查找方法:
  Element.querySelector();
  Element.querySelectorAll();
  Element.getElementsByTagName();
  Element.getElementsByClassName();

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

推荐阅读更多精彩内容

  •   DOM(文档对象模型)是针对 HTML 和 XML 文档的一个 API(应用程序编程接口)。   DOM 描绘...
    霜天晓阅读 3,640评论 0 7
  • 第3章 基本概念 3.1 语法 3.2 关键字和保留字 3.3 变量 3.4 数据类型 5种简单数据类型:Unde...
    RickCole阅读 5,122评论 0 21
  •   JavaScript 与 HTML 之间的交互是通过事件实现的。   事件,就是文档或浏览器窗口中发生的一些特...
    霜天晓阅读 3,490评论 1 11
  • 原文 https://www.kancloud.cn/dennis/tgjavascript/241852 一、节...
    LuckyS007阅读 852评论 0 0
  • “每逢回乡,总是为了短暂的相聚”“到了离开,家和心突然间寂寥了” 1 在老家的第二天清晨,我从睡梦中惊醒,看着空荡...
    YIBAO阅读 383评论 12 14