当我执行以下extJS代码时,它显示“undefined”而不是我想要插入div的文本。
如何将HTML插入我的extJS元素?
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<link rel="stylesheet" type="text/css" href="ext/resources/css/ext-all.css">
<style type="text/css">
body {
padding: 20px;
}
div#message {
margin: 10px 0 0 0;
}
</style>
<script type="text/javascript" src="ext/adapter/ext/ext-base.js"></script>
<script type="text/javascript" src="ext/ext-all-debug.js"></script>
<title>Simple extJS</title>
<script type="text/javascript">
Ext.BLANK_IMAGE_URL = 'ext/resources/images/default/s.gif';
Ext.onReady(function() {
console.info('check to see if this shows up in firebug');
Ext.get('buttonInfo').on('click', function() {
var message = Ext.get('message');
message.insertHtml('this is the information');
});
});
</script>
</head>
<body>
<button id="buttonInfo">Info</button>
<div id="message"></div>
</body>
</html>
@flo,如果我使用innerHTML
,则无法识别extJS对象:
答案 0 :(得分:2)
编辑: 对不起,错过了你问题的重要部分。 我不敢知道,我害怕。
我仍然想知道使用常规DOM是否会更简单,因为这似乎是你想要实现的目标:
var x=document.getElementById("message");
x.innerHTML = 'this is the information';
Edit2:经过一番搜索后,我想出了这个:
var message = Ext.get('message');
Ext.DomHelper.insertHtml('afterBegin', message, 'this is the information');
Edit3:这个答案很乱,但我们走了:
Ext.DomHelper.insertHtml('afterBegin', message.dom, 'this is the information');
或
message.update('text');
答案 1 :(得分:0)
我终于找到了答案:
message.insertHtml('beforeThis', 'insert this');
第一个参数可以是以下之一:
beforeBegin, afterBegin, beforeEnd, afterEnd
如果您只想更改文本,就像在jquery .html()中一样,请使用:
message.update('new content');