识别Ext.Component与Ext.Element对比HTMLElement

时间:2013-09-25 16:21:42

标签: javascript extjs extjs4.2

我有三个变量:foobartest

它们是以下对象: Ext.Component Ext.Element HTMLElement (或 DOM节点)。

  1. 您如何确定哪一个是哪个?例如。 foo.isExtElement()

  2. 您如何为每个变量找到其他两个相关对象?例如。找到相应的 Ext.Element HTMLElement ,因为您已经知道foo Ext.Component 。等等。

  3. (由于声誉不佳,我无法添加[htmlelement]标签)

    修改

    在#1中添加了示例,并根据@kevhender将“convert”替换为“find”。

1 个答案:

答案 0 :(得分:2)

问题本身并没有多大意义。你不会将这些中的任何一个“转换”成另一个......这些是3种不同的,不同类型的变量,每种变量都有自己的用途。

在我对上一个问题的回答中,我已经解决了这三种类型之间的差异:https://stackoverflow.com/a/18855938/2072693

我不会将这些称为“转化”,但以下是从另一种类型中获取其中一种类型的方法:

component.getEl()  //gets the Ext.Element of the top level of the component
component.getEl().dom  //gives the HTMLElement of the top level of the component
element.dom   //gets the HTMLElement from the Ext.Element
Ext.get(htmlElement)  //allows for using Ext.Element methods on an HTMLElement

没有内置方法可以从Ext.Element或HTMLElement获取Ext.Component - 事实上,它实际上没有意义。