更新溢出而不从div中删除元素?

时间:2013-06-10 20:14:12

标签: javascript html css

如果我用过:

parentNode.removeChild( divHere );

它确实有效,溢出的滚动条也相应更新。如果我使用JS来'divHere.style.visibily =“hidden”;'那不再适用了。我所做的几乎就是在容器div中创建115个div,并且用户可以选择过滤器以仅显示他们想要的图像,所有div都有背景图像,并且基本上只是一个名称在其下面的图像。

所以我有两个问题:

1)有没有办法更新溢出并使其不考虑隐藏元素?

2)如果1)不可能,当我使用removeChild从容器中删除一个div时,它确实会消失,但究竟发生了什么?它是否会从页面上消失,因为它没有添加到页面上的任何元素中?所以它基本上就像它隐藏的那样?我不必担心人们在一些较少使用的浏览器中看到一些完全奇怪的图像?

以及3)如果您有更好的方法,我们将非常感激

提前感谢您提供任何帮助

2 个答案:

答案 0 :(得分:1)

removeChild()方法删除指定元素的指定子节点,并将删除的节点作为Node对象返回,如果节点不存在则返回null。 该null表示该元素现在已从标记中删除。

您应该使用它来不让浏览器考虑到这一点,因为浏览器在标记中找不到该元素。

你也可以这样做:

$(document).remove(object_to_remove);

了解更多信息:http://api.jquery.com/remove/

答案 1 :(得分:1)

我相信我可能会对你问题的第三部分做出回应。包含div中的大量div和过滤的使用让我觉得你可能想要研究使用jQuery的DataTables插件(http://www.datatables.net/)。它有一些非常好的排序/过滤/等功能。大量数据元素并支持各种数据源。如果基本功能对您来说还不够,还有一些插件插件。

如果你想用它来做更复杂的事情,有一点学习曲线,如果你没有使用jQuery很多(虽然是一个没有合作过的人),可能会很难习惯。由于没有进行太多的Web开发,jQuery就是这么多,我可以说每当我有机会时我都非常喜欢使用它,虽然这可能只是因为我喜欢学习如何在编程中做新事物,但我觉得如果你愿意花时间在它上面,那么你将拥有比现在更加可维护的东西。