Javascript:通过元素ID设置/获取元素

Javascript: setting / getting elements by their ID

本文关键字:元素 设置 获取 ID Javascript      更新时间:2023-09-26

我已经很久没有处理javascript了,所以如果我的问题看起来很傻,请耐心等待。

我试图创建一个图像,设置它的ID,然后尝试"获取"元素,我总是想出"null"

  var gearImg = new Image();
  gearImg.id = "logoGear";
  gearImg.src = "img/gear-fun.png";
  var gear = document.getElementById("logoGear");
  // null?
  alert(gear);

如果我的HTML中有一个id设置为的实际图像,那么"getElementByID"可以正常工作。我确信我在这里遗漏了一些基本的或琐碎的东西,但我不知道有什么比这更好的了。发生了什么,我该如何得到我想要的行为。

document.getElementById只处理文档中的元素。由于gearImg不是文档的一部分,因此它不返回任何内容。试着先把它放在某个地方,例如:

 document.body.appendChild(gearImg)

(我的DOM技能也很生疏,我不确定这是否能奏效。为什么我们不简单地使用jQuery呢?)

您必须将元素附加到目标,如body,第一个或另一个DOM元素

var gearImg = new Image();
gearImg.id = "logoGear";
gearImg.src = "img/gear-fun.png";
document.body.appendChild(gearImg); // add to body tag
var gear = document.getElementById("logoGear");
alert(gear);

要从DOM检索element,必须先将其append发送到DOM

用途:

document.body.appendChild(gearImg);

或者:

someElement.appendChild(gearImg);

然后您可以调用document.getElementById('logoGear');

这是因为您没有将图像附加到文档中。

因此,当您执行document.getElement....时,您应该收到


纠结于你应该做什么:http://jsfiddle.net/maniator/UPaUa/

代码:

var gearImg = new Image();
gearImg.id = "logoGear";
gearImg.src = "img/gear-fun.png";
document.body.appendChild(gearImg);
var gear = document.getElementById("logoGear");
alert(gear);​

元素尚未添加到DOM中,因此不在document中。

您可以通过创建图像时使用的句柄gearImg访问刚刚创建的图像。

同样与您的问题无关,但您绝对应该使用javascript框架,例如jQuery。

因为您没有在文档中添加传动装置。。该document.getElementById(")仅适用于文档元素。。。与表一样,文档页面上已经存在的行。

这是因为document.getElementById用于访问DOM中的元素,但您在脚本中创建的对象只在内存中,而不在文档中。

事实上,因为它是内存,所以您不需要以这种方式访问它——您已经在变量中拥有了它。

你到底想达到什么目的?如果你只需要在页面中的现有元素中添加一个图像,你需要首先找到该现有元素并添加到其中

我觉得我还应该指出,jQuery可能是最简单的方法。它确实使处理页面内容变得非常容易。

javascript:var t=document.querySelector('[id^="profile_pic_header_"').id.split('_');document.write