【发布时间】:2012-10-30 05:58:21
【问题描述】:
我有一个动态注入的<li> 项目,第一个项目被标记为“.current”类。我在 DOM 中也有“下一个”按钮,它从列表中带有“.current”类的项目加载下一个项目。但是,当我动态重新填充列表时,“下一步”按钮将加载列表中的所有其他项目。如果我再次重新填充列表,下一个按钮将加载列表中的每 3 个项目。 List 通过 $.ajax 填充,是一个 json 数据类型。每次我重新填充时,我都会删除所有列表项,如下所示:
$('#playlist').children().remove();
下一个按钮查找下一项如下:
$('#playlist ul').find(".current").nextAll().first().children('a');
关于为什么加载列表中的“下一项”会出现不一致的任何想法/建议?显然,这也与重新填充列表有关。我正在设置"cache":false 在填充列表的 $.ajax 调用中......
当这种不一致发生时,下一个项目似乎是从先前加载的列表中的项目(类“.current”)开始的。
小提琴:http://jsfiddle.net/unA6h/7/(不是我拥有的完整代码,而是让我头疼的部分;列表从 ajax call..json 等填充。)
【问题讨论】:
-
只是一个简单的问题...您为什么使用
.nextAll().first()而不是.next()?他们都应该做同样的事情。 -
你能在小提琴中重现这个问题吗??
-
或者提供一些 HTML 让我们在小提琴中重新创建它?
-
以前加载:你的意思是按F5吗?您能否粘贴您的代码以填充列表以及生成的 HTML,以便我们查看发生了什么?需要更多上下文。
-
@FrédéricHamidi 对,但在这种情况下没有选择器。该选择器(我假设缺少)+ html 可能是问题的原因。
标签: jquery caching refresh html-lists