我有疑问。 我为这些寻找解决方案。 想用儿童功能el。 但没有工作。 如果我清除el它的工作原理,但我最后有所有元素类。
Mootools脚本
$$('ul#portfolio li, .ce_id').each(function(el) {
if(!el.hasClass(filterVal)) {
el.fade('out').setStyle('display', 'none').addClass('hidden');
} else {
el.setStyle('display', 'block').fade('in').removeClass('hidden');
$$(el':nth-last-child((4n+4)').addClass('last');
}
希望你们能帮助我。或者它不可能使用el或VAR:nth-last-child在一起?
更新但是没有效果。
else {
el.setStyle('display', 'block').fade('in').removeClass('hidden');
el.getElements(':nth-last-child(4n+4)').addClass('last');
}
更新2:
这里是守则 所以我想当我点击打印时,每4个女巫都没有隐藏,并且有点击类的女巫最后获得该课程。 http://jsfiddle.net/6whd9/1/
最佳反馈
答案 0 :(得分:1)
我正在减少代码,但你不能在选择器中el
。相反,您应该使用el.getChildren
或el.getElements
。这是一个例子:
$$('#parent > div').each(function(el){
el.getChildren(':nth-last-child(4n+4)').addClass('last');
});
以下是一个工作示例:http://jsfiddle.net/ZxMUh/
编辑:很难从你的问题中理解什么有用而不是有用。但是,如果您尝试动画,则不能将其淡入。您需要先隐藏它。
$$('#parent div.hidden').fade('hide');
$$('#parent > div').each(function (el) {
el.removeClass('hidden').fade('in');
el.getChildren(':nth-last-child(4n+4)').addClass('last');
});
以下是示例:http://jsfiddle.net/ZxMUh/2/
编辑(获得小提琴后):在我的例子中,我认为你在“li”中改变了nth-child。问题是你不能在你的每个陈述中做到这一点。把它分开。
以下是使用时的小提琴:nth-last-child:http://jsfiddle.net/6whd9/2/
但是,不可能做你想做的事情,在这种情况下使用:nth-child是不可能的。你必须自己做出选择。
var visable = $$('ul#portfolio li:not(.hidden)').reverse();
visable.each(function (item, index) {
// same as 4n + 4
if (index % 4 == 3) {
item.addClass('last');
}
});
这是一个演示它的小提琴:http://jsfiddle.net/6whd9/4/ (我将最后一个类添加到带有红色边框的样式中,因此它是可见的)
我希望我终于明白你的问题......