动态创建一个 div 和组合框,并使用 Dojo 将组合框放入 div
dynamically create a div and combobox, and put combobox in the div using Dojo
我想动态创建一个div和ComboBox
,然后把ComboBox
放在div中。请参阅下面的代码。当我 运行 代码时,抛出 Failed to execute 'appendChild' on 'Node': parameter 1 is not of type 'Node'.(…) “TypeError: Failed在 'Node' 上执行 'appendChild':参数 1 不是 'Node'.
类型
将 ComboBox
放在 div 中的正确方法是什么?
var comboBox = new ComboBox({
name: "state"
});
comboBox.set('style', {width: '100%', height: '35px', fontSize: '30px'});
var comboBoxDiv = domConstruct.create("div");
comboBoxDiv.id = "state";
domConstruct.place(comboBox, comboBoxDiv);
你得到这个错误是因为 domConstruct
只处理 DOM
个节点,而你正试图将它与一个对象一起使用,但是,你仍然可以使用它,只需要传递组合框 domNode
domConstruct.place(comboBox.domNode, comboBoxDiv);
domNode
是所有widget都有的一个attach point,它引用widget的根模板。
此外,我注意到在您的代码中,您正在使用 domConstruct
创建 div,但是,您并未将 div 放置在 DOM
中。像这样:
var comboBoxDiv = domConstruct.create("div");
domConstruct.place(comboBoxDiv, "someID");//or some node, attach point
在 dom 中放置小部件的另一种方法是使用 placeAt
函数。
var comboBoxDiv = domConstruct.create("div");
var myComboBox = new ComboBox({
name: "state"
});
myComboBox.placeAt(comboBoxDiv);
或者,将第二个参数传递给构造函数,它可以是字符串(dome 中 en 元素的 id)或节点。
var comboBoxDiv = domConstruct.create("div");
var myComboBox = new ComboBox({
name: "state"
}, comboBoxDiv);
我想动态创建一个div和ComboBox
,然后把ComboBox
放在div中。请参阅下面的代码。当我 运行 代码时,抛出 Failed to execute 'appendChild' on 'Node': parameter 1 is not of type 'Node'.(…) “TypeError: Failed在 'Node' 上执行 'appendChild':参数 1 不是 'Node'.
将 ComboBox
放在 div 中的正确方法是什么?
var comboBox = new ComboBox({
name: "state"
});
comboBox.set('style', {width: '100%', height: '35px', fontSize: '30px'});
var comboBoxDiv = domConstruct.create("div");
comboBoxDiv.id = "state";
domConstruct.place(comboBox, comboBoxDiv);
你得到这个错误是因为 domConstruct
只处理 DOM
个节点,而你正试图将它与一个对象一起使用,但是,你仍然可以使用它,只需要传递组合框 domNode
domConstruct.place(comboBox.domNode, comboBoxDiv);
domNode
是所有widget都有的一个attach point,它引用widget的根模板。
此外,我注意到在您的代码中,您正在使用 domConstruct
创建 div,但是,您并未将 div 放置在 DOM
中。像这样:
var comboBoxDiv = domConstruct.create("div");
domConstruct.place(comboBoxDiv, "someID");//or some node, attach point
在 dom 中放置小部件的另一种方法是使用 placeAt
函数。
var comboBoxDiv = domConstruct.create("div");
var myComboBox = new ComboBox({
name: "state"
});
myComboBox.placeAt(comboBoxDiv);
或者,将第二个参数传递给构造函数,它可以是字符串(dome 中 en 元素的 id)或节点。
var comboBoxDiv = domConstruct.create("div");
var myComboBox = new ComboBox({
name: "state"
}, comboBoxDiv);