0

如果我使用:

parentNode.removeChild( divHere );

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

所以我有两个问题:

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

2) 如果 1) 比我使用 removeChild 从容器中删除 div 时不可能,它确实会消失,但到底发生了什么?它会因为没有添加到页面上的任何元素而从页面上消失吗?所以它本质上就像它是隐藏的一样工作?我不必担心人们在一些不太常用的浏览器中看到一些完全奇怪的地方的图像?

以及 3)如果您有更好的方法来做到这一点,我们将不胜感激

提前感谢您的帮助

4

2 回答 2

1

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

如果你想用它做更复杂的事情,有一点学习曲线,如果你没有经常使用 jQuery 可能很难适应(尽管作为一个没有使用过 jQuery 的人)很大程度上是因为没有做太多的网络开发,我可以说我很喜欢只要有机会就使用它,尽管这可能只是因为我喜欢学习如何在编程中做新的事情),但我觉得如果你'重新愿意花时间在它上面,您将拥有比您目前拥有的更易于维护的东西。

于 2013-06-10T20:41:37.117 回答
1

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

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

你也可以这样做:

$(document).remove(object_to_remove);

查找更多信息:http ://api.jquery.com/remove/

于 2013-06-10T20:20:41.053 回答