JS-如何使用JavaScript删除图像?

JS-如何使用JavaScript删除图像?,javascript,html,Javascript,Html,我遇到了一个问题,用JS删除图像 代码就像一个 <img src="image.png" id='image_X'> ... document.getElementById('image_X').src='' ... document.getElementById('image_X')。src='' 图像保持不变:(所以我的问题是如何用JS删除图像? 更详细地说…如何动态修改图像src属性值 任何有用的评论都非常感谢您可以将其隐藏。在vanilla JS中: document.

我遇到了一个问题,用JS删除图像 代码就像一个

<img src="image.png" id='image_X'>
...
document.getElementById('image_X').src=''

...
document.getElementById('image_X')。src=''
图像保持不变:(所以我的问题是如何用JS删除图像? 更详细地说…如何动态修改图像src属性值


任何有用的评论都非常感谢

您可以将其隐藏。在vanilla JS中:

document.getElementById("image_X").style.display='none';
在jQuery中:

$("#image_X").css('display', 'none');
如果确实要将其从DOM中删除,可以在图像元素的
parentNode
上调用
removeChild
方法。

这应该可以做到:

var el = document.getElementById('image_X');
el.parentNode.removeChild(el);

您可以将其巧妙地包装成如下函数:

function removeElement(ele) {
    ele.parentNode.removeChild(ele);
}

removeElement(document.getElementById("image_X"));

获取其父级并使用removeChild

var parent = getElementById('parentid');
var child = document.getElementById('imagex');
parent.removeChild(child);

要在JavaScript中删除图像(或者通常要删除任何内容),首先应该抓取元素,然后遍历到其父元素,然后可以使用
removeChild
方法删除子元素。

我想分享一些其他提示

@Marecky,感谢Jared Farrish的回答,我可以找出一些关于JS的有用的观点

但接下来我还需要做一些额外的研究…这不是一个超级事实,而是一个小小的理论提示…因此,我发现浏览器,作为任何桌面应用程序,当然,都是用某种GUI框架创建的…通常,大多数GUI(例如Swing)当然,框架可能会使用双缓冲对象来显示图形…因此,当它(例如FF)将脚本重新转换为图形对象时,GUI同步规则就变得非常有用

…好的…从GUI重新绘制问题到脚本本身

因此,我的问题是关于如何处理DOM对象……事实是,如果像document.getEelementById('image_X').src=''这样的代码被激活,img标记不会更新UI事件;因此,
标记空间(出于某些原因),我不确定,但是,保留了某种“缓存”状态……这可能会导致img(如果它在body中)变为“静态”;因此我必须找到一些支持动态UI更新的有用的附加对象。作为测试,我使用div而不是纯body标记来保持img;因此不更新body,而是仅更新div内部内容,这很有帮助。因此在我的案例中使用JS+HTML很有帮助

我希望这条建议能节省一天的时间

试试看

 document.getEelementById('image_X').src="''"; 
但它将显示一个损坏的图像

请尝试使用:

document.getElementByID(“”.style.visiblity=“hidden”;

当您不想显示图像和

document.getElementById(“”.style.visibility=“visible”;

当您要显示图像时。

1)使用父节点删除img元素。 2) 然后,存储该父节点。
3) 然后,在父节点中创建新的img元素。

为什么不完全删除img标记呢?我不想删除标记本身,我需要它,最好的办法是,我想要像document.getEelementById('image\X')这样的东西.src=null,但我不知道该怎么做:)我开始怀疑你上面的问题是否具有足够的描述性,是否真的允许有人为你在更大范围内尝试做的事情提供答案。请尝试提供有关您正在使用的方法的更多信息,该方法包括图像标记的src元素为空/null.document.getElementById('image_X')。src=''工作。啊哈,getEelementById,你的意思是=>getElementById没有getE(e)lementByIdI猜测,以一种“从视图中移除”的方式。这是更惯用的jQuery:
$(“#image_X”).hide()正如我可能猜到的,代码正在隐藏图像,但我想让它的src=null或其他:(有可能以这种方式控制img属性值吗?
$(“#image_X”).attr(“src”,”;
,但我不完全确定是否有浏览器只显示“无效”占位符(即“X”)如果
src
参数为空。最好隐藏/删除整个image元素。这很好,但我想将img src从null改为image.png,例如:)出于某种原因,代码像文档一样。getEelementById('image_X')。src=null不起作用:(图像没有变为“空”:(但我需要让它为空。我怎么做?我不想删除标记本身,但想让它的src为空或其他什么。所以我需要让标记属性及其值控制,但如何?嗯…它应该删除“img”标记本身吗?我的意思是“image_X”可以吗对象是否被重用?是的,这将从DOM中删除该元素。如果要重用该元素(重新显示或将其移动到其他位置),您可以像Xion的回答中那样隐藏它,或者将url复制到一个变量,以便以后访问。问题是我不想从DOM中删除元素。我想保留它,但同时使其“src”属性等于“null”通过点击一个按钮或什么。有可能吗?为什么?如果没有src属性,你看不到元素的点是什么?没有,完全是这样…我希望在它的位置上有src属性,同时我只希望src属性为“空”或“不空”通过点击一个按钮。这就是为什么我问这个问题…有可能吗?嗯…我不确定代码是否会做我想做的事情,因为我对控制img内容感兴趣,我的意思是只是删除它的src内容,而不是删除整个标记…那么如何得到结果呢?嗯…在我的情况下,父项意味着什么?我想控制src属性我该怎么做?@user592704它是图像所在的任何元素…(例如div、p、table、tr、td等)只需给该元素一个id,并用该id替换parentid!
 document.getEelementById('image_X').src="''";