2013-04-02 2 views
0

новый Element не работает. Кто-то знает, почему? CSS:Mootools новый элемент не работает

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

ЯШ:

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

Alerting #root работает отлично, так что существует ... создать что tileNode элемент не работает предупреждая его также не работает:/

Вид С уважением!

+1

'newElement.inject ($ («корню»));' если вы впрыснуть в DIV с идентификатором «корнем», и вы должны вводить в единственный элемент, используйте $ ('id'), потому что $$ возвращает массив ... – Romain

+0

вот он xD thx! – marius

+1

Я поставил его как ответ, вы можете отметить его ответ на следующий! ;) – Romain

ответ

-1

вы также можете использовать это, чтобы впрыснуть:

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

Создание массива элементов, когда вы ищете уникальный элемент, не имеет смысла! '$ ('tileNode')' более точен, проще понять и оптимизировать! – Romain

1

использование

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

Если впрыснуть в DIV с идентификатором «корня», и вы должны вводить в одном элементе, используйте $ («ID»), потому что $$ возвращает массив ...

0

есть несколько вещей в вашем коде, которые приняли мое внимание: кулак, new Element('div',{id:"tileNode"}) полностью равна new Element('div[id=tileNode]'). Поскольку не имеет значения, как вы выберете, я бы порекомендовал вторую форму, потому что она намного читаема. Вы даже можете добавить дополнительные атрибуты, такие как Element('div[id=tileNode][class=tile]') и т. Д., Вместо передачи объекта.

Другой оптимизацией будет использование dollar function, если вы пытаетесь получить элемент по его идентификатору. Поэтому, если вы хотите предупредить идентификатор элемента, попробуйте использовать alert($('tileNode').id). Хотя предупреждение может работать нормально, вы можете попробовать использовать консоль javascript. Вместо alert(myVar) используйте console.log(myVar).

Надеется, что это помогает, и счастливым кодированию :)

Смежные вопросы