js怎样添加、移除、移动、复制、创建和查找节点?

JavaScript07

js怎样添加、移除、移动、复制、创建和查找节点?,第1张

添加节点append;移除节点removeChild;移动节点:var sdds=document.getElementById;创建节点createTextNode();查找节点:document.getElementsByTagName。

其他方法:

创建新节点

createDocumentFragment() //创建一个DOM片段

createElement() //创建一个具体的元素

createTextNode() //创建一个文本节点

添加、移除、替换、插入

appendChild() //添加

removeChild() //移除

replaceChild() //替换

insertBefore() //插入

查找

getElementsByTagName() //通过标签名

getElementsByName() //通过元素的Name属性的值

getElementById() //通过元素Id,唯一性

实现一个函数clone,可以对JavaScript中的5种主要的数据类型(包括Number、String、Object、Array、Boolean)进行值复制。

1、添加节点append方法

栗子:为body添加一个内容为sss的文本节点

document.body.appendChild(document.createTextNode("sss"))

2、移除节点,removeChild移除某个节点的子节点

栗子:

var ccn=document.getElementById("sd").childNodes[0]//获取到要移除的节点

document.getElementById("sd").removeChild(ccn)//将id为sd的第一个子节点移除

3、移动,控制

栗子:将id为sd的节点向右边移动50px

var sdds=document.getElementById("sd")

sdds.style.left=parseInt(sdds.style.left)+50+"px"

<div id='sd' style="position: absoluteleft: 10px">sd</div>

4、创建节点

document.createTextNode("sss")//创建文本节点

document.createElement("p")//创建p节点

5、查找节点

document.getElementById('oo')//根据id查找

document.getElementsByTagName("p")//根据标签名字查找节点

...

通过鼠标选中事件获取点击的物体e,查找此物体e.parent属性,我是scene.add()添加的,判定e.parent !== scene,不相等(e = e.parent)就接着向上找,直到找到相等的时候此时的e就是整个外部模型。 获取外部模型代码 letself=thisfunctionget_parent(e){if(e.parent&&e.parent!==self.scene){get_parent(e.parent)}else{self.selectMesh=e}}get_parent(intersect.object)console.log(this.selectMesh)获取外部模型所有子节点方法 threejs本身封装的traverse方法: this.selectMesh.traverse(function(e){if(e.material)