threejs如何获取外部模型的部分节点?

JavaScript014

threejs如何获取外部模型的部分节点?,第1张

通过鼠标选中事件获取点击的物体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)

用js中的document.getElementById("#idname")来获取指定id的节点。idname是指定的id名。

如:var book1 = document.getElementById("#1111")

那么便利book1就代表

<book id="1111"> <name>西游记</name> <author>吴承恩</author></book>

这个book节点了。

selectSingleNode 传回第一个符合样式的节点。

 

  作 用

传回第一个符合样式的节点。  

基本语法

objDocumentNode = xmlDocumentNode.selectSingleNode(patternString);

 

说 明

patternString 为一包含XSL 样式的字符串。此方法会传回第一个符合的节点对象,如果没有符合的节点,则传回null。

 

范 例

objNode = xmlDoc.selectSingleNode("EMAIL/BCC");

alert(objNode.xml);

=============================================================

selectNodes 方法

 

  作 用

传回所有符合提供样式(pattern)的节点。  

基本语法

objDocumentNodeList = xmlDocumentNode.selectNodes(patternString);

 

说 明

patternString 为一包含XSL 样式的字符串。此方法会传回节点清单对象,包含符合样式的节点。如果没有符合的节点,则传回空的清单列表。

 

范 例

objNodeList=xmlDoc.selectNodes("/");

alert(objNodeList.item(0).xml);

希望这个资料有帮助