0

新元素不起作用。有人知道为什么吗?CSS:

#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 元素不起作用警报它也不起作用:/

亲切的问候!

4

3 回答 3

1

采用

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

如果你注入 id 为 'root' 的 div,你也必须注入单个元素,使用 $('id') 因为 $$ 返回一个数组......</p>

于 2013-04-02T15:04:01.167 回答
1

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

如果您尝试通过其 id 获取元素,则另一个优化是使用美元函数。因此,如果您想提醒元素的 id,请尝试使用alert($('tileNode').id). 虽然警报可能工作正常,但您可以尝试使用 javascript 控制台。而不是alert(myVar)使用console.log(myVar).

希望这会有所帮助,并且编码愉快:)

于 2013-05-10T21:13:14.283 回答
-1

你也可以用它来注入:

newElement.inject($$('div#tileNode')[0]);
于 2013-04-03T10:39:11.000 回答