2013-04-02 65 views
0

新元素不起作用。有人有任何线索为什么? CSS:Mootools新元素不起作用

#tileNode { 
position:absolute; 
width:100px; 
height:100px; 
background-color:red; 
} 

JS:

window.addEvent('domready', function() { 
var newElement = new Element('div',{id:"tileNode"}); 
newElement.inject($$('div#tileNode')); 
alert($$('#tileNode').get('id')); 
}); 

警报#root工作正常,所以它的存在...创建tileNode元素不起作用提醒它也不起作用:/

类问候!

+1

'newElement.inject($(“根”));'如果你用id“根”在div注入,也必须在注入单元素,使用$('id'),因为$$返回一个数组... – Romain

+0

这就是它的xD thx! – marius

+1

我已经把它作为答案,你可以标记它回答下一个! ;) – Romain

回答

-1

你也可以用它来注入:

newElement.inject($$('div#tileNode')[0]); 
+0

当你寻找一个独特的元素时,创建一个元素数组没有任何意义! '$('tileNode')'更准确,更易于理解和更优化! – Romain

1

使用

newElement.inject($('root')); 

如果与ID“根”在div注入,也必须在一个单一的元素注入,使用$(“身份证”),因为$$返回数组...

0

有在你的代码几件事情,把我的注意: 拳头,new Element('div',{id:"tileNode"})完全等于new Element('div[id=tileNode]')。既然选择什么方式没有区别,我会推荐第二种形式,因为它更具可读性。你甚至可以添加更多的属性,如Element('div[id=tileNode][class=tile]')等,而不是传递一个对象。

如果您试图通过其ID获取元素,则可以使用dollar function进行优化。所以如果你想提醒一个元素的ID,尝试使用alert($('tileNode').id)。 尽管警报可能正常工作,但您可以尝试使用JavaScript控制台。而不是alert(myVar)使用console.log(myVar)

希望这有助于和快乐编码:)