js DOM *** 作

js DOM *** 作,第1张

1)一共12个节点类型

2)dom *** 作就是对节点进行 *** 作

3)节点的类型的获取方法notetype

4)ie9以上及chrome safari firefox 会将换行符当成节点

(1)静态获取

(2)返回带有指定ID的元素

var box1=documentgetElementById('box');

(1)根据标签名获取

(2)得到的是个数组

var div1=documentgetElementsByTagName('div')[0];

(1)根据类名获取元素

(2)动态获取

(3)得到的是一个数组

var box=documentgetElementsByClassName('box')[0];

(1)返回符合要求第一个元素

(2)通过css选择器来获取指定标签

(3)静态获取

(1)返回所有匹配元素

(2)根据css选择器来获取所有标签

(3)得到的是一个数组

获取兄弟节点

获取下一个兄弟标签

获取上一个兄弟节点

获取上一个兄弟标签

获取最后一个子节点

获取最后一个子标签

获取所有非标签类型的子节点

获取所有子标签节点

获取父节点

增加节点

var div=documentcreateElement('div');

在父元素的末尾,插入节点

在添加元素前,需要将元素先创建好

divappendChild(div);

修改指定子节点

删除指定子节点

在删除前需要先获取到被删除元素

divremoveChild(box);

删除当前节点

需要先获取到被删除的节点

divremove();

(1)设置ID

divid='box';

(2)设置class

divclassName='box';

(3)设置style

divstylewidth='10px';

(4)设置路径

imgsrc='/';

(5)自定义属性

首先 nextSibling 并不是所有浏览器执行后 结果都是一样的!

这是我写的:

<html>

<head>

<meta >

场景:var str = “hello world!”

astrchar() //返回指定下标的值

Strchar(2) //”l”

bStrindexOf() //返回指定值的下标

StrindexOf(‘e’) //’1’

cStrlastIndexOf() //返回最后指定值的下标

StrlastIndexOf(‘l’) //’9’

dStrconcat() //拼接字符串

Strconcat(“mother fuck!”) //”hello world!mother fuck!”

Consolelog(str) //”hello world!”

eStrsubstr(n,m) //从n开始截取m个字符

Strsubstr(1,2) //’el’

fStrsubstring(n,m) //从n开始m结束截取字符串,不包含m

Strsubstring(6,11) //”world”

gStrslice(n,m) //同substring,slice可以截取数组,substring不能截取数组

Strslice(6,11) //”world”

hStrsplit //返回数组

Strsplit(‘ ’) //[‘hello’, ‘world!’]

Straplit(‘l’) //[‘he’, ‘’, ‘o wor’, ‘d!’]

iStrreplace() //以下三个方法都是通过正则表达式对原字符串进行更改的

jStrmatch()

kStrsearch()

场景:const obj = {x: 0, y: 1}

Const obj2 = {x: 1, z: 2,fn: {number: 1}}

aObjectassign() //合并对象,实行的是浅拷贝

Objectassign(obj, obj2)

Consolelog(obj) //{x: 1, y: 1, z: 2,fn: {number: 1}}

bObjectcreate() //新建一个对象,可以使用原型链继承

Var newObj = Objectcreate(obj, {newValue: ‘newAdd’})

Consolelog(newObj) //{newValue: ‘newAdd’}

Consolelog(newObjx) //0

cObjectdefineProperties() //往对象里面添加或修改新属性,值类型

ObjectdefineProperties(obj, {name: {value: ‘欧’}}) //添加属性

Consolelog(obj) //{x: 0, y: 1, name: ‘欧’}

ObjectdefineProperties(obj, {name: {value: ‘林’, writable: true}}) //修改属性

Consolelog(obj) //{x: 0, y: 1, name: ‘林’}

dObjectdefineProperty() //往对象里面添加新属性,可以是引用类型

ObjectdefineProperty(obj, ‘name’, {value: function() {return ‘欧’}})

Consolelog(objname()) //’欧’

eObjectkeys() //返回对象所有key,以数组类型输出

Consolelog(Objectkeys(obj)) //[‘x’, ‘y’]

fObjectvalues() //返回对象所有的value,以数组类型输出

Consolelog(Objectvalues(obj)) //[0, 1]

场景:var arr = new array(1,2,3)

apush() //向数组尾部添加元素

arrpush(4)

consolelog(arr) //[1,2,3,4]

bunshift() //向数组头部添加元素

arrunshift(0)

consolelog(arr) //[0,1,2,3]

cpop() //删除数组尾部的元素

arrpop()

consolelog(arr) //[1,2]

dshift() //删除数组头部的元素

arrshift()

consolelog(arr) //[2,3]

eindexOf() //返回指定元素的下标

arrindexOf(2) //1

fslice(n,m) //从n开始m结束截取数组,不包括m,此方法不会更改元数组

consolelog(arrslice(1,2)) // [2]

consolelog(arr) //[1,2,3]

gsplice() //删除数组指定元素

arrsplice(1) //删除从下标1开始到最后的所有元素

consolelog(arr) //[1]

arrsplice(1,2) //删除从下标1开始往后的2个元素

consolelog(arr) //[1]

arrsplice(1,2,3,4) //删除从下标1开始往后2个元素并用3,4替代

consolelog(arr) //[1,3,4]

hreverse() //数组翻转

arrreverse()

consolelog(arr) //[3,2,1]

isort() //从小到大排序数组

arrsort()

consolelog(arr) //[1,2,3]

jforEach() //以下提供了几种遍历的方法

kmap()

lfilter() //数组过滤,如果数组的元素的对象,可以通过对象的属性名来过滤元素,用法跟C#的Linq一样。

var newArr = [{id:1,name:’元素1’},{id:2,name:’元素2’}]

consolelog(newArrfilter(item => itemid===1)) //[{id:1,name:’元素1’}]

consolelog(newArr) //[{id:1,name:’元素1’},{id:2,name:’元素2’}]

mevery()

nsome()

ofind()

pfindIndex()

增删改查

场景:<div class=”div” id=”div”></div>

adocumentcreateElement() //创建节点

var newDiv = documentcreateElement()

bdocumentcraeteTextNode() //创建文本节点

var newDivText = documentcraeteTextNode(‘这是新创建的节点’)

cdivappendChild() //向节点添加最后一个子节点

newDivappendChild(newDivText)

ddocumentgetElementById() //通过Id获取节点

var div = documentgetElementById(‘div’)

edivparentNode //获取父节点

fdivchildNode //获取子节点,返回一个集合

var child = divchildNodes

gdivnextSibling,divpreviousSibling,divfirstChild,divlastChild

分别为,获取下一个兄弟节点,上一个兄弟节点,第一个子节点,最后一个子节点。

hdivinsetBefore() //插入到特定位置

divinsetBefore(newDiv, null) //插入到最后,跟appendchild用法一样

divinsetBefore(newDiv, divfirstChild) //插入到第一个子节点之前

divinsetBefore(newDiv, divlastChild) //插入到最后节点之前

idivreplaceChild() //替换节点

divreplaceChild(newDiv, divfirstChild) //替换第一个子节点,原节点会被删除

jdivremoveChild() //删除子节点

kcloneNode(true/false) //克隆节点,true为深克隆,false为浅克隆

ldocumentquerySelector(),documentquerySelectorAll() //通过css选择器搜索匹配的节点,querySelector返回匹配的第一个节点,querySelectorAll返回所有节点

documentquerySelector(‘divdiv’) //返回class为div的div标签节点

documentquerySelector(‘#div’) //返回id为div的节点

mdocumentgetElementsByTagName(),documentgetElementsByName(),documentgetElementsByClassName() //返回符合需求的集合

ndivsetAttribute() //给元素添加属性

divsetAttribute(‘name’: ‘div’)

oremoveAttribute(),getAttribute(),hasAttribute() //各种 *** 作属性的方法

var obj=documentgetElementById("当前元素");

var node=objparentNode;

var child=nodechildNodes;

for(var i=0,ele=childlength;i<ele;i++){

var h=child[i]styleheight;

if(child[i]id==objid){

return

}

}

以上就是关于js DOM *** 作全部的内容,包括:js DOM *** 作、怎么样通过js DOM获取一个节点的文本内容、面试题汇总-JS篇01等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/9453531.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-28
下一篇2023-04-28

发表评论

登录后才能评论

评论列表(0条)

    保存