php内部javascript错误引用错误:未定义img
photos[]是一组照片名称php内部javascript错误引用错误:未定义img,php,javascript,Php,Javascript,photos[]是一组照片名称 foreach($photos as $key=>$value) { @$blocks .= '<div><img src="'.$value.'" onload="img=this"><img src="remove.png" onclick=remove_image(img)></div>'; } foreach($key=>$value) { @$blocks.=''; } 因此,当单击第一张
foreach($photos as $key=>$value)
{
@$blocks .= '<div><img src="'.$value.'" onload="img=this"><img src="remove.png" onclick=remove_image(img)></div>';
}
foreach($key=>$value)
{
@$blocks.='';
}
因此,当单击第一张照片的删除图标时,它工作正常,但其他照片显示此错误:
ReferenceError:img未定义
单击“删除”按钮时应刷新页面。全局存储img
变量,这意味着每次加载新图像时都会覆盖该变量。您应该为图像指定唯一ID,并让其“删除”按钮按ID删除图像。例如:
foreach($photos as $key=>$value)
{
@$blocks .= '<div><img src="'.$value.'" id="img'.$key.'"><img src="remove.png" onclick=remove_image(document.getElementById("img'.$key.'"))></div>';
}
foreach($key=>$value)
{
@$blocks.='';
}
(我对PHP不太熟悉,如果我在某个地方犯了语法错误,我很抱歉)谢谢你,LukeGT,你的答案是对的,但我发现使用jquery来处理它更好
onclick="remove_image($(this).prev())"
或
要删除整个div.请使用$key并删除$a$键将是数组中照片的索引,因此是唯一的。
onclick="remove_image($(this).parent())"