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 回答
1

我认为最好的方法是:

  • 打开 chrome 控制台
  • 类型:$x("//input[@id='para']")

通过单击找到的元素,您还可以看到它被选中

于 2020-01-22T14:02:19.227 回答