javascript - 如何将html设置为extjs中的元素

标签 javascript extjs extjs4 extjs4.1

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/

相关文章:

javascript:按字符串中给定域(子字符串)查找完整 URL 的最快方法

javascript - 让文本输入在到达末尾之前滚动

javascript - 使用 ExtJS 显示连续进度条

javascript - 如何确定 ExtJS 4 中 Ext.grid.Panel 的选定单元格?

javascript - 添加记录到 Ext.data.ArrayStore

javascript - Controller 如何在 Extjs 应用程序中与 MVC 一起使用

java - 如何按照jsp页面上选中的顺序获取复选框的值?

javascript - JS : I'm not getting the scope

javascript - 如何删除 addClsOnOver 监听器 ExtJS

extjs - 复选框, Action 事件