如何使用类作为选择器在div中注入图像

时间:2011-07-24 16:28:00

标签: javascript mootools css-selectors

我无法让它工作,我想创建一个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));

2 个答案:

答案 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/