如何通过上次更改的值填充文档对象模型值?

时间:2017-12-12 18:24:36

标签: javascript dom

在研究DOM时,我编写了以下脚本:

console.log(document);//how this will generate the last update id value
var x = document.getElementById("old").getAttribute("id");
var y = document.getElementById("old").setAttribute("id","IDChanged");
console.log(document);
<div id="old">first</div>

两个结果都是:

<div id="IDChanged"><div>

运行此代码片段后,我发现两个结果都生成了具有相同id的html文档IDCHANGED,我期望第一个console.log将生成一个div文档,其ID为old,第二个console.log将生成div ID为IDChanged的文档。

那么,如何做这项工作?

1 个答案:

答案 0 :(得分:0)

当您对document元素更感兴趣时,您正在记录div对象(由于某种原因没有意义)。我不知道为什么你说IDChanged两次console.log()语句根本不会产生document两次,它们都会记录div对象,而不是{{} 1}}。

如果你摆脱了第一个console.log()并将最后一个更改为:

console.log(x,y);

你会看到你想要的结果。但实际上,忘了document并专注于div。我认为这是您希望在更改之前和之后查看id的内容。

// Get a refernece to the div
var x = document.querySelector("div");

// Report the contents of the document before doing anything:
console.log(x);

// Change the ID of the element
x.setAttribute("id","IDChanged");

// Report the contents of the document after DOM manipulation:
console.log(x);
<div id="old">first</div>