2011-12-18 33 views
0

我正在重複使用我的舊應用程序,並且想要更改代碼,所以我正在應用構建到節點類的DOM結構,而不是它的ID。在DOM創建中將jQuery與原生JS結合起來

下面是一段代碼,你可以看到我嘗試將jQuery(通過它的類獲取節點)與舊結構結合起來,但是在這裏某些東西不能正常工作。

是否有可能像這樣結合jQuery和JS本機? 如果沒有,是否有另一種方法來完成我想要做的事情?

var gamearea = $('<div/>', { 
    text': 'testarea', 
    class': 'gamearea' 
}).appendTo('.memory:last');  

alert("this.rows: " + this.rows); 

for (var j = 0; j < this.rows; j++){ 
    var box = document.createElement('div'); 
    for (var i = 0; i < this.cols; i++){ 

     var iterator = (this.cols * j) + i; 

     var img = document.createElement('img'); 
     var aNod = document.createElement('a'); 

     aNod.href = "#"; 
     img.src = "pics/0.png"; 

     aNod.appendChild(img); 
     box.appendChild(aNod); 
    } 
    gamearea.appendChild(box); 
} 
+0

「但似乎沒有工作」哪部分?調試它。將問題縮小到一行代碼。那時你可能會意識到解決方案是什麼。 – 2011-12-18 16:26:10

回答

2

你應該能夠得到它的工作通過改變gamearea.appendChild(box);gamearea[0].appendChild(box);

背後的原因是,你可以通過簡單地做obj[0],其中obj是得到一個jQuery擴展對象裸DOM元素jQuery的擴展對象獲得像obj = $(...)等。而你的代碼中的appendChild方法是一個裸DOM元素的方法。

相關問題