1) 如何将 HTML
设置为已创建的面板或任何其他元素?
我是初学者。我尝试了以下在 HTML 中设置一些内容
var clickedElement = Ext.getCmp('id').el.child('>');
clickedElement.setHTML("hello");
上面的工作正常,但问题是因为面板里面有很多 div。上面的方法是删除 html 中的那些(即 div)并用上面的内容替换它。
我通过 Chrome 看到该面板具有三个嵌套的 div。因此,如果我想向其中添加 HTML,则需要提供如下内容:
var clickedElement = Ext.getCmp('id').el.child('>').child('>'); //two times child
当我尝试上述方法时,我成功地添加了 html 内容,而且 div 也没有删除。这里的问题是,我看不到添加的内容(可能是因为某些默认样式,我可以看到内容正在添加到 Chrome 控制台中。)
我只是想问一下是否有任何有效的方法可以将 HTML 添加到面板中。在我看来,这应该是非常简单的方法,我在这里将其复杂化。
2) 如何检查一个元素是否有一个特定的子元素?
假设,例如,如果我在创建面板时将一个 extjs Button
作为子项(项目)添加到我的面板中。 (我能做到)。如何检查面板是否有特定元素(即此处的按钮)?
在这里问之前,我搜索了很多,发现有点相关但没有帮助 link我的问题。
最佳答案
在 ExtJS 中,大多数组件被认为只有一个主体元素,即使您在 dom 上看到更多。与基本上添加在标记之上的 jQuery 相比,ExtJS 自己生成整个标记。
现在回答你的问题,要更新组件的 HTML,你可以简单地调用 update()
方法
Ext.getCmp('id').update('hello');
参见 JSFiddle
关于javascript - 如何将html设置为extjs中的元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14745691/