1

次のように、htmlページ内にキャンバスhtml要素があります。

<canvas id="myCanvas2" width="290" height="250" style="background-color:red"></canvas>

jqueryでキャンバスにアクセスしたい。jQuery を使用してアクセスしようとしている場合は機能しません。document.getElementById を使用しようとすると、機能するだけです。

コードは次のとおりです。

 var canvas = $("#myCanvas2");
 console.log("Canvas : " + canvas + ", typeof : " + typeof(canvas));
 canvas = document.getElementById('myCanvas2');
 console.log("Canvas 2 : " + canvas + ", typeof : " + typeof(canvas));

$("#myCanvas2"); および document.getElementById('myCanvas2'); 同じですか??

コンソールで次のように表示されます:

  Canvas : [object Object], typeof : object
  Canvas 2 : [object HTMLCanvasElement], typeof : object

jquery を使用して canvas html 要素にアクセスできますか?

ありがとう。

4

1 に答える 1

3

jQuery は常にこのメソッドを DOM ノードにラップします。これはキャンバスに限ったことではありません。

jQuery 経由で DOM ノード Canvas にアクセスする場合は、次の.get()メソッドを使用する必要があります。

$("canvas").get(0).getContext("2d");
// or short hand
$("canvas")[0].getContext("2d");

indexDOM ノードを取得するには、 get にを渡す必要があることに注意してください。そうしないと、DOM ノードの配列ができてしまいます。

于 2013-04-23T23:41:23.167 に答える