访问并删除动态创建的元素

时间:2014-04-17 23:26:33

标签: javascript html dynamically-generated

我使用for循环创建了一堆具有唯一ID的图像。他们看起来像这样:

<img src="image.jpg" id="110021002" />
<img src="image.jpg" id="110021003" />
<img src="image.jpg" id="110031002" />
...

稍后在代码中我想按ID选择一个图像并将其删除。我尝试了以下方法:

var removeId = '110021002';
var img = document.getElementById(removeId);
img.parentNode.removeChild(img);

但是我收到以下错误:

Cannot read property 'parentNode' of null

不太清楚这里发生了什么。是因为图像是动态创建的吗?

2 个答案:

答案 0 :(得分:2)

您的代码完美无缺:http://jsbin.com/zexoweyu/3/edit 第一次删除元素,显然第二次尝试时元素不存在,它会抛出给定的错误。

小提琴:

  • 点击一次,工作
  • 再次单击,失败,因为具有该ID的元素不再存在。

是的,ids可以从数字开始。

**Attribute ID** Specifies a unique id for the element. Naming rules:
Must contain at least one character
Must not contain any space characters
In HTML, all values are case-insensitive

答案 1 :(得分:-1)

您不能拥有start with a number的ID。尝试用字母为它们添加前缀。