我有一個網頁的結構是這樣的:獲取DOM元素使用jQuery
<canvas id="myCanvas"></canvas>
@for(var i=0; i<10; i++) {
<div class="my-element">
<canvas></canvas>
</div>
}
此代碼生成一個主畫布。在它下面,正在生成10個其他動態生成的div。實際上,這個循環只是用來表明我有一些動態生成的代碼。要理解的主要是my-element
一塊。
在我的JavaScript,我有以下幾點:
$(function() {
var mainCanvas = document.getElementById('myCanvas');
initializeCanvas(mainCanvas); // This works.
var dynamicElements = $('.my-element');
for (var i=0; i<dynamicElements.length; i++) {
initializeCanvas($(dynamicElements[i])[0]); // This does not work
}
});
function initializeCanvas(canvas) {
// do stuff
}
第一次調用initializeCanvas
的作品,因爲我通過在實際的HTML DOM元素。但第二個initializeCanvas
,這是多次調用,失敗,因爲它傳遞了別的東西。在這種情況下,如何獲得與document.getElementById返回的元素相同類型的元素?
謝謝!
訣竅是知道什麼jQuery方法返回一個常規的DOM對象而另一些返回一個jQuery對象 – mmcrae