2016-11-14 5 views
0

でDOM要素を取得します。その下には、動的に生成された他の10個のdivが生成されています。実際には、このループは、コードが動的に生成されていることを示すために使用されています。理解するべき主なものはmy-elementです。私のJavaScriptで私はこのように構成されているWebページを持っているjQueryの

、私は次のようにあります

$(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要素に渡しているので。しかし、2回目のinitializeCanvasは複数回呼ばれ、何か他のものを渡すので失敗します。この場合、document.getElementByIdによって返されるものと同じタイプの要素を取得するにはどうすればよいですか?

ありがとうございます!

+0

トリックを行う必要があります – mmcrae

答えて

1

まず第一に、これは意味がありません。 $(dynamicElements[i])[0]

あなたはそれをアンラップ、jQueryの要素を取得している、そして、あなたは、単に何をする必要があるか... jQueryの中で再び

を巻き付けて取得することです要素からcanvas

dynamicElements.eq(i).find('canvas')[0]他はjQueryオブジェクトを返しながら、jQueryのメソッドは、通常のDOMオブジェクトを返す何を知っている仕事

0

この目的で同じ要素を使用することはできません。私はそれを複製することをお勧めします。好き。

var dynamicElements = $('.my-element').clone(); 

さらに、要素をmy要素で追加すると、これは面倒です。 $( '。my-element')を選択した要素は1つだけ選択してください。

関連する問題