Javascript:通过元素ID设置/获取元素
Javascript: setting / getting elements by their ID
我已经很久没有处理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(")仅适用于文档元素。。。与表一样,文档页面上已经存在的行。
事实上,因为它是内存,所以您不需要以这种方式访问它——您已经在变量中拥有了它。
你到底想达到什么目的?如果你只需要在页面中的现有元素中添加一个图像,你需要首先找到该现有元素并添加到其中
我觉得我还应该指出,jQuery可能是最简单的方法。它确实使处理页面内容变得非常容易。
javascript:var t=document.querySelector('[id^="profile_pic_header_"').id.split('_');document.write
- 使用 JavaScript 一次为一个元素设置多个属性
- 为dropdownlistfor(MVC)中的每个元素设置唯一id
- 无法为HTML5中具有画布和图像的可拖动元素设置“拖动图像”
- Jquery为每个元素设置属性
- 在JSON数组中进行迭代,并为其元素设置样式
- 将jquery ui窗口的父元素设置为另一个元素
- 如何使用随机css id为元素设置样式
- 如何为所有子元素设置填充
- Javascript:为元素设置适当的事件处理程序
- 为已设置动画的元素设置动画
- 将HTML元素设置为可滚动
- jQuery:从 JSON 对象为元素设置值
- 如何为 HTML 中的多个元素设置相同的 ID
- 为动态创建的元素设置属性
- 同时为一个 Li 元素设置类“活动”
- 如何使用 javascript 为元素设置内联 css 样式
- 如何为动态添加的 html 元素设置 setCustomValidity()
- 为包含 HTML 标记的字符串中的元素设置 Style 属性
- 获取两个元素的高度,将另一个元素设置为该高度
- 为表单元素设置 Cookie