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

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)如何检查Element是否有特定的孩子?

例如,假设我在创建它时将extjs Button作为子项(项)添加到我的面板中. (我能做到).如何检查面板是否具有特定元素(即此处的按钮)?

在问这里之前,我搜索了很多,发现有些相对但对我的问题没有帮助link.

解决方法

在ExtJS中,大多数组件被认为只有一个body元素,即使你在dom上看到更多.与基本上添加标记之上的jQuery相比,ExtJS自己生成整个标记.

现在回答您的问题,要更新组件的HTML,您可以简单地调用update()方法

Ext.getCmp('id').update('hello');

JSFiddle

相关文章

什么是深拷贝与浅拷贝?深拷贝与浅拷贝是js中处理对象或数据...
前言 今天复习了一些前端算法题,写到一两道比较有意思的题:...
最近在看回JavaScript的面试题,this 指向问题是入坑前端必须...
js如何实现弹出form提交表单?(图文+视频)
js怎么获取复选框选中的值
js如何实现倒计时跳转页面