22

私は次のことに少し困惑しています: の id を持つ段落要素があるとしましょうpara。私が言うなら、Chromesコンソールを使用する

document.getElementById("para")

HTML スニペット<p id="para">....</p>で返されますが、たとえば Javascript ライブラリ D3 の選択方法を使用すると、

d3.select("#para")

DOM ノードが返され、段落要素のすべてのプロパティとメソッドにアクセスできます。

この違いはなぜですか?

4

2 に答える 2

34

デフォルトでは、Chrome で DOM ノードをログに記録すると、マークアップとして表示されます。DOM ノードを通常のオブジェクトとしてログに記録するには、console.dir. 通常のオブジェクトとして表示される理由d3.select("#para")は、このメソッドがおそらく DOM ノードを返さず、DOM ノードをラップするオブジェクトであるためです。

console.dir(document.getElementById("para"));
于 2013-05-12T17:42:58.470 に答える