添加节点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)