我使用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
不太清楚这里发生了什么。是因为图像是动态创建的吗?
答案 0 :(得分:2)
您的代码完美无缺:http://jsbin.com/zexoweyu/3/edit 第一次删除元素,显然第二次尝试时元素不存在,它会抛出给定的错误。
小提琴:
是的,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。尝试用字母为它们添加前缀。