Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/401.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/85.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在JavaScript中通过innerHTML从列表中删除项目_Javascript_Html_Iframe_Asp Classic - Fatal编程技术网

在JavaScript中通过innerHTML从列表中删除项目

在JavaScript中通过innerHTML从列表中删除项目,javascript,html,iframe,asp-classic,Javascript,Html,Iframe,Asp Classic,我是新来的,我被困在我的项目中 我需要排除从一个电子商务购物车项目 此购物车显示在Fancybox的iframe中 它可以工作,但在Chrome中视觉上却不行。在Firefox和IE中,它的工作很好 我在div中有我的项目,比如div_1、div_2、div_3 <div id="div_1"> content... </div> <div id="div_2> content... </div> <div id="div_3&g

我是新来的,我被困在我的项目中

我需要排除从一个电子商务购物车项目

此购物车显示在Fancybox的iframe中

它可以工作,但在Chrome中视觉上却不行。在Firefox和IE中,它的工作很好

我在div中有我的项目,比如div_1、div_2、div_3

<div id="div_1">
   content...
</div>
<div id="div_2>
   content...
</div>
<div id="div_3>
   content...
</div>
因为滚动由iframe(auto)和我的主div控制,所以定义了widt的值,并且高度是自动的,以适合我的内容

在div中,我有一个来自product、name、price的img和一个带有以下JS的删除按钮:-

onClick="removeItem(<%=arrayIndexdiv%>)"
onClick=“removietem()”
以及功能:-

<script>
    function removeItem( itemid ) {
        document.getElementById('div_' + itemid ).innerHTML = "";
    }
</script>

函数removeItem(itemid){
document.getElementById('div_'+itemid).innerHTML=“”;
}
换句话说,该函数只是删除div,将其从页面中排除

当我的列表itens大于iframe大小时,将显示垂直滚动条

当我单击remove时,所有浏览器中的iten都正确无误,但在Chrome中,iframe的大小不会改变,我在所有项目上方的页脚前都有一个空格

在IE和Mozilla中没关系,空间没有出现,但在Chrome中它就在那里

我不知道我是否可以把URL放在这里来帮助更多人?如果可以,请告诉我

有人能帮我吗

对不起,我的英语


谢谢你们

我认为您的问题在于,由于div标记是块元素,它们仍然占用父div中的空间。例如:

var element = document.getElementById("div_" + itemid); 
element.parentNode.removeChild(element);

此外,这个操作在jquery中更简洁。您可能希望查看它以获得进一步的DOM操作。

我相信您希望从
DOM
中删除元素,而不仅仅覆盖
div
的内容

innerHTML
属性设置或获取描述元素子体的HTML语法。 在您的情况下,您只需设置
div
内容:

document.getElementById('div_' + itemid ).innerHTML = "";
如果要从
DOM
中删除元素:

function removeItem( itemid ) {
  var element = document.getElementById('div_' + itemid ); // will return element
  element.parentNode.removeChild(element); // will remove the element from DOM
}
另外
style=“溢出:隐藏;宽度:820px;高度:自动;”
将隐藏溢出的
div,但不会滚动它


如果你想让它滚动,你可以设置
溢出:滚动

你真的有
而不是
?请解决您的问题以显示真正的HTML。如果希望此div可滚动,您也不应该使用
overflow:hidden
。改用
溢出:滚动
。好的,我编辑了。。。现在正确了,对不起!顺便说一下,我把溢出:滚动,但不改变任何浏览器!将innerHTML设置为“”不会删除该元素,只会删除其内容。我相信这是Chrome中的一个错误,因为如果我只需单击iframe的任何区域(在remove中不需要),滚动条的大小将调整为更大。。。很奇怪!这有趣吗?正如我对上面的朋友所说,我忘了提到div的id,但是它们存在,只是在这里我忘了。我如何在实践中使用您的示例?它同样有效,似乎更清晰,但问题仍然存在。。。我相信这是Chrome中的一个bug,因为如果我只需单击iframe的任何区域(在REMOVE中不需要),滚动条的大小就会变大。。。很奇怪!我做到了,并且在视觉上工作,就像我使用的另一种方式。。。但在chrome中,问题仍然存在。。因为如果我只需单击iframe的任何区域(删除时不需要),滚动条的大小将调整为更大。。。很奇怪!尝试我的页面:有时在产品中点击ADCIONAR AO CARRINHO,然后在中点击FINALIZAR@user2793679嘿,很抱歉,我没能解决你的问题。它在chrome中也能正常工作。试着设置
溢出:auto
。但是使用hidden确实没有意义,因为滚动条在iframe旁边。。。主div获取100%的高度,iframe控件取消滚动条。。。如果我设置自动,iframe上会显示3个滚动条。我可以在iframe上禁用滚动,但我可以垂直滚动我的div???所以你只想滚动你的
div
垂直滚动?
function removeItem( itemid ) {
  var element = document.getElementById('div_' + itemid ); // will return element
  element.parentNode.removeChild(element); // will remove the element from DOM
}