我必须在页面中添加多个缩略图图像(在gengrid函数中添加501.jpg,502.jpg等),每个页面在点击时打开另一个图像(port.jpg),然后单击另一个缩略图图像端口.jpg必须删除。问题是在这种情况下removeChild不起作用。谁能请帮忙... 这是代码
<script type="text/javascript">
var lastper=null;
function gengrid()
{
var i=0;
var num_stud=8;
var newdiv;
var divIdName;
var maindiv;
for(i=1;i<=num_stud;i++)
{
newdiv = document.createElement('div');
divIdName = '50'+i;
newdiv.setAttribute('id',divIdName);
newdiv.setAttribute('onclick','addit('+i+')');
newdiv.innerHTML = '<img src=50'+i+'.jpg alt="a"></img>';
maindiv=document.getElementById('main');
maindiv.appendChild(newdiv);
}
}
gengrid();
function addit(picno)
{
var person = document.getElementById('50'+picno);
if(lastper)
lastper.removeChild('portfolio');
var newdiv = document.createElement('div');
var divIdName = 'portfolio';
newdiv.setAttribute('id',divIdName);
newdiv.innerHTML ='<img src="port.jpg" alt="a"></img>';
person.appendChild(newdiv);
alert(picno+''+lastper.id+person.id);
lastper = document.getElementById('50'+picno);
}
</script>
答案 0 :(得分:0)
if(lastper){
lastper.removeChild('portfolio');return;}
答案 1 :(得分:0)
我不相信这是元素的有效ID。 ID必须以字母开头。
lastper = document.getElementById('50'+picno);
答案 2 :(得分:0)
试试这个
function addit(picno)
{
var person = document.getElementById('50'+picno);
lastper = document.getElementById('50'+picno);
if(lastper)
lastper.removeChild('portfolio');
var newdiv = document.createElement('div');
var divIdName = 'portfolio';
newdiv.setAttribute('id',divIdName);
newdiv.innerHTML ='<img src="port.jpg" alt="a"></img>';
person.appendChild(newdiv);
alert(picno+''+lastper.id+person.id);
}
答案 3 :(得分:0)
主要问题是您将字符串传递给removeChild调用。使用
lastper.removeChild(document.getElementById('portfolio'));
将改为解决这个问题。
您的警报是次要问题。它将在第一次失败,因为“lastper”为null,因此没有id属性。