JavaScript操作DOM常用的基础API

一、节点

(1)元素节点

(2)文本节点

(3)属性节点

二、获取元素

document下的API

getElementById()           // Id名字

getElementByName()     //根据name属性查找 返回一个NodeList

getElementsByTagName();      // 标签名字 返回值一个对象数组HTMLCollection 对象数组里面每个都是对象object

getElementsByClassName('class);      // 类名 返回对象数组HTMLCollection  其它的元素也支持这个接口

querySelector();           //获取到第一个元素(返回单个Node 匹配到多个只返回第一个)

querySelectorAll();       //表示与指定选择器组匹配的文档元素列表。 获取指定选择器中的所有元素标签NodeList

close()

open()

write()

writeln()

三、创建节点

createElement('div')   //这是标签/元素节点

createTextNode('我是文本节点')

cloneNode(boolean)       //boolean表示是否复制子元素

 creatDocumentFragment()    //创建一个DocumentFragment

四、修改节点

节点修改API都具有下面这几个特点:不管是新增还是替换节点,如果其原本就在页面上,那么原来位置的节点将被移除;修改之后节点本身绑定的事件不会消失;

 appendChild()       // 将一个节点添加到指定父节点的子节点列表末尾

 insertBefore()         //parentNode.insertBefore(newNode, refNode);  // refNode是必传的,如果不传该参数会报错;

  removeChild()        //删除指定的子节点并返回子节点 var deletedChild = parent.removeChild(node); 

  replaceChild()       // 用指定的节点替换当前节点的一个子节点,并返回被替换掉的节点; replacedNode = parentNode.replaceChild(newChild, oldChild);

五、节点关系

(1)父关系 

parentNode: 元素父节点,每个元素都有 可能是 Element,Document或者DocumentFragment parentElement: 元素的父元素节点:与parentnNode区别是, 如果该元素没有父节点,或者父节点不是一个元素节点.则 返回null

(2)子关系 

children: 返回一个实施的HTMLCollection,子节点都是Element

childNodes: 返回一个实时的NodeList 元素的子节点列表,可能会有包含文本节点,注释节点等

firstChild: 返回第一个子节点,不存在返回null,对应 firstElementChild

lastChild: 返回最后一个子节点,不存在返回null,对应lastElementChild

(3)兄弟关系

previousSibliing: 节点的前一个节点,如果不存在返回nul。有可能拿到文本节点和注释节点

nextSibling: 节点后的一个节点,如果不存在返回null。有可能拿到文本节点和注释节点

 previousElementSibling:返回前一个元素节点,前一个节点必须是Element

 nextElementSibling: 返回后一个元素节点,后一个节点必须是Element

(六)获取和设置属性

getAttribute('属性名') //获取到用户在标签上写的原文;不属于document对象,只属于元素节点对象 没有返回null 

setAttribute('属性名',value)

(七)事件相关API

    onabort 图像的加载被中断。

    onblur  元素失去焦点。

    onchange    域的内容被改变。

    onclick 当用户点击某个对象时调用的事件句柄。

    ondblclick  当用户双击某个对象时调用的事件句柄。

    onerror 在加载文档或图像时发生错误。

    onfocus 元素获得焦点。

    onkeydown  某个键盘按键被按下。

    onkeypress  某个键盘按键被按下并松开。

    onkeyup 某个键盘按键被松开。

    onload  一张页面或一幅图像完成加载。

    onmousedown 鼠标按钮被按下。

    onmousemove 鼠标被移动。

    onmouseout  鼠标从某元素移开。

    onmouseover 鼠标移到某元素之上。

    onmouseup  鼠标按键被松开。

    onreset 重置按钮被点击。

    onresize    窗口或框架被重新调整大小。

    onselect    文本被选中。

    onsubmit    确认按钮被点击。

    onunload    用户退出页面。

八)鼠标键盘属性

    altKey  返回当事件被触发时,"ALT" 是否被按下。

    button  返回当事件被触发时,哪个鼠标按钮被点击。

    clientX 返回当事件被触发时,鼠标指针的水平坐标。

    clientY 返回当事件被触发时,鼠标指针的垂直坐标。

    ctrlKey 返回当事件被触发时,"CTRL" 键是否被按下。

    metaKey 返回当事件被触发时,"meta" 键是否被按下。

    relatedTarget  返回与事件的目标节点相关的节点。

    screenX 返回当某个事件被触发时,鼠标指针的水平坐标。

    screenY 返回当某个事件被触发时,鼠标指针的垂直坐标。

    shiftKey    返回当事件被触发时,"SHIFT" 键是否被按下。12345678910

标准 Event 属性

    bubbles 返回布尔值,指示事件是否是起泡事件类型。

    cancelable  返回布尔值,指示事件是否可拥可取消的默认动作。

    currentTarget  返回其事件监听器触发该事件的元素。

    eventPhase  返回事件传播的当前阶段。

    target  返回触发此事件的元素(事件的目标节点)。

    timeStamp  返回事件生成的日期和时间。

    type    返回当前 Event 对象表示的事件的名称。

(九)标准 Event 方法

    initEvent() 初始化新创建的 Event 对象的属性。

    preventDefault()    通知浏览器不要执行与事件关联的默认动作。

    stopPropagation()  不再派发事件。

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

推荐阅读更多精彩内容

  • 前言:尽管现在有很多优秀的框架,大大简化了我们的DOM操作,但是我们仍然要学好DOM知识来写原生JS,从根本上去理...
    长鲸向南阅读 1,842评论 0 0
  • 第3章 基本概念 3.1 语法 3.2 关键字和保留字 3.3 变量 3.4 数据类型 5种简单数据类型:Unde...
    RickCole阅读 5,096评论 0 21
  •   DOM(文档对象模型)是针对 HTML 和 XML 文档的一个 API(应用程序编程接口)。   DOM 描绘...
    霜天晓阅读 3,613评论 0 7
  • 目录 1. 基本概念 1.1 Node类型 DOM1级定义了一个Node接口,该接口由DOM中所有节点类型实现。这...
    王童孟阅读 417评论 0 1
  • 《白露》 . 钟浩如 . 哪像雨哟 出寒门 无雷电送行 只牵几缕月光照路 趁静谧 与风私奔 . 坐在叶子朝阳的那面...
    95d847ea857a阅读 192评论 1 1