2011-07-05 45 views
1

在下面的代碼是第二行冗餘?第一行沒有返回創建的div的引用?還是我缺少的東西是否有任何需要將此端口轉移到jQuery的更改?

var div = document.createElement('DIV'); 
var div = $(div); 
div.id='tip_holder'; 
div.style.zIndex=10000; 
div.style.left='-1000em'; 
body.appendChild(div); 

回答

1

$向元素添加了mootools的東西。爲了使多餘的,你需要重新寫這個(我也改寫了一些額外的冗餘代碼中有)

var div = new Element('DIV',{'id': 'tip_holder', 
          'styles':{ 
             zIndex:10000, 
             left:'-1000em'      

}}); 
$$('body')[0].adopt(div); 

如果媒體鏈接必須從某處身體的有效參考,只需使用

$(body).adopt(div); //no " needed 

body.adopt(div);//if it is already a mootools Element 
+0

我需要在原有的代碼移植到任何改變它的jQuery或它的工作原理幾乎相同的方式嗎? – anon

+0

我不知道你是怎麼創建JQuery的一個元素,估計是大同小異的。什麼讓你感到困擾,使你想遷移? –

+0

有很多的jQuery代碼,從而試圖端口都交給它,而不是使用兩個庫 – anon

0

According to the docs,該$功能只是爲document.id功能圖。而document.id函數只做兩件事:

  • 如果給它一個字符串,它將返回具有該id的元素。
  • 如果你給它一個元素(如你在你的例子做)和當前的瀏覽器沒有原生支持HTMLElement(啊哈,IE),則該元素與一些新的方法擴展。
+0

你的第二點是biggy ;-) –

+0

@Itay [那是......她說了什麼?(http://www.explosm.net/comics/2443/) – sdleihssirhc

+0

我是僧侶...... –