我可以像这样在身体内创建一个div
:
var n = dojo.create("div", { innerHTML: "<p>helloWorld</p>" }, dojo.body());
我想在我的父元素中创建一个div
,如下所示:
<div id="parent"></div>
我试过这个,但它似乎不起作用:
var n = dojo.create("div", { innerHTML: "<p>helloWorld</p>" }, dojo.query('#parent'));
如何在DOM中已存在的父div
内创建div
?
答案 0 :(得分:1)
您发布的解决方案完全有效。几个选择:
无需查找dom节点,可以传入一个String(节点的id)
require(["dojo/dom-construct"], function(domConstruct){
var n = domConstruct.create("div", { innerHTML: "<p>helloWorld</p>" }, 'parent');
});
或者你可以构建节点并稍后使用domConstruct#place:
放置它require(["dojo/dom-construct"], function(domConstruct){
var n = domConstruct.create("div", { innerHTML: "<p>helloWorld</p>" });
domConstruct.place(n, 'parent');
});
domConstruct#place也可以使用可选的position
参数。 API Docs有更多信息
答案 1 :(得分:1)
如果你需要定位一个类而不是一个元素id,我发现以下是有效且易于维护的方法:
-M
鉴于最好定位一个id而不是一个类,但是当你依赖外部库并不总是可行时。
答案 2 :(得分:0)
我这样做的方式是这样的(我对任何其他解决方案持开放态度):
// dojo 1.7+ (AMD)
require(["dojo/dom-construct"], function(domConstruct){
var n = domConstruct.create("div", { innerHTML: "<p>helloWorld</p>" }, dojo.byId('parent'));
});
// dojo < 1.7
var n = dojo.create("div", { innerHTML: "<p>helloWorld</p>" }, dojo.byId('parent'));