我无法让它工作,我想创建一个id = item和class = item + variable的新元素DIV,如下所示:
<div id="item" class="item1"></div>
然后通过选择新创建的divs类在内部注入一个图像:
<div id="item" class="item1">
<img src="images/1.png" style="width: 64px; height: 64px;">
</div>
我认为我的问题在于我的最后一个注入选择器,但我不确定,div会创建自己,但不会注入图像。
var content = this.options.content;
var id = this.options.id;
new Element('div', {id: 'item', class: 'item'+id}).inject($('slot'+id));
new Element('img',{ src:'images/'+content+'.png', style:'width: 64px; height: 64px;' }).inject($('.item'+id));
答案 0 :(得分:0)
你可以使用
var g = new Element('div', {id: 'item', class: 'item'+id}).inject($('slot'+id));
new Element('img',{ style:'width: 64px; height: 64px;' }).inject(g);
答案 1 :(得分:0)
我不是任何想象力的mootools专家,但我认为inject方法需要一个元素作为参数而$('。item'+ id)不会让你获得单个元素(事实上它返回null),因为你给它一个类参数而不是一个ID,因为你要搜索的项目还没有在DOM中。
相反,您可以跟踪刚刚创建的元素。
以下是一段有效的示例代码:
var id = 1;
var el = new Element('div', {id: 'item', class: 'item'+id}).inject($('slot'+id));
new Element('img',{ src:'http://photos.smugmug.com/photos/344291068_HdnTo-Ti.jpg', style:'width: 100px; height: 66px;' }).inject(el);
并且,jsFiddle:http://jsfiddle.net/jfriend00/czNTL/