如您所见,这是一个非常基本的一步一步“形式”。
这很有效,但为什么呢?
一开始我有3个div。然后我把它们隐藏起来。然后我在节目中设置第一个。
然后我点击下一步。
var currentForm = $(".my-form-page:visible");
我得到了第一个可见的div。currentForm.hide();
我把它隐藏起来。是的,没错。所以一切都是隐藏的。currentForm.nextAll(".my-form-page:first").show();
nextAll
,会将一些css应用到它之后的所有元素,但由于我有伪类:first
,它不会。就在第一个。但是,因为第一次仅适用于可见元素,所以它不应该起作用。为什么这件事知道,第二个元素,也是隐藏的,现在是第一个?为什么我可以这样访问它?
答案 0 :(得分:2)
:first
不仅适用于可见元素。它相当于:eq(0)
。如果您希望它仅应用于可见元素,则需要再次包含:visible
选择器:
currentForm.nextAll(".my-form-page:visible:first").show();