我对以下内容有点困惑:假设我有一个 id 为的段落元素para
。使用 Chromes 控制台,如果我说
document.getElementById("para")
我返回了 HTML 片段<p id="para">....</p>
,而如果我使用例如 Javascript 库 D3 的选择方法并说
d3.select("#para")
我返回了 DOM 节点,可以访问段落元素的所有属性和方法。
为什么会有这种差异?
我对以下内容有点困惑:假设我有一个 id 为的段落元素para
。使用 Chromes 控制台,如果我说
document.getElementById("para")
我返回了 HTML 片段<p id="para">....</p>
,而如果我使用例如 Javascript 库 D3 的选择方法并说
d3.select("#para")
我返回了 DOM 节点,可以访问段落元素的所有属性和方法。
为什么会有这种差异?
默认情况下,在 Chrome 中记录 DOM 节点时,它会显示为标记。要将 DOM 节点记录为普通对象,请使用console.dir
. 显示为普通对象的原因d3.select("#para")
是此方法可能不返回 DOM 节点,而是一个包裹 DOM 节点的对象。
console.dir(document.getElementById("para"));
我认为最好的方法是:
$x("//input[@id='para']")
通过单击找到的元素,您还可以看到它被选中