我想动态创建一个div ComboBox
,然后将ComboBox
放入div中。请参阅以下代码。当我运行代码时,抛出在'Node'上执行'appendChild'失败:参数1不是'Node'类型。(...)“TypeError:在'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);
答案 0 :(得分:1)
您收到此错误是因为domConstruct
仅处理DOM
个节点,并且您尝试将其与对象一起使用,但是,您仍然可以使用它,只需要传递组合框{{1 }}
domNode
domConstruct.place(comboBox.domNode, comboBoxDiv);
是所有小部件都有的附加点,它引用了小部件的根模板。
此外,我注意到在您的代码中,您使用domNode
创建了div,但是,您没有将该div放在domConstruct
中。像这样:
DOM
将小部件放入dom的另一种方法是使用var comboBoxDiv = domConstruct.create("div");
domConstruct.place(comboBoxDiv, "someID");//or some node, attach point
函数。
placeAt
或者,通过将第二个参数传递给构造函数,该构造函数可以是字符串(圆顶中的en元素的id)或节点。
var comboBoxDiv = domConstruct.create("div");
var myComboBox = new ComboBox({
name: "state"
});
myComboBox.placeAt(comboBoxDiv);