1

以下代码行做了两件事。前两行在具有给定 id 的元素之前和之后将类添加到兄弟姐妹(在本例中为 id 为“nav”的 UL)

最后两行将类 first 和 last 添加到其父级具有 id 为“nav”的第一个和最后一个兄弟元素。

这是jQuery。我将如何使用 Mootools 1.11 实现相同的目标。任何帮助表示赞赏。

$('#nav .active').prev().addClass('prevtab');
$('#nav .active').next().addClass('nexttab');
$('#nav').children(":first").addClass('first');
$('#nav').children(":last").addClass('last');

格式在评论中不起作用,因此对 zombat 重复:

使用 mootools 1.1 我没有可用的编辑按钮,我无法发表评论,因为我没有足够的代表。

您的解决方案正在做某事,但没有针对正确的元素。

这是我想要并使用 jquery 得到的结果:

<ul id="nav">
<li class="first"></li>
<li></li>
<li class="prevtab"></li>
<li class="active"></li>
<li class="nexttab"></li>
<li class="last"></li>
</ul>

这是你的js的结果:

<div class="prevtab"></div>
<ul id="nav">
<li></li>
<li></li>
<li></li>
<li class="active"></li>
<li></li>
<li></li>
</ul>
<div class="nexttab"><div>
4

2 回答 2

3

试一试。

$('nav').getNext().addClass('nexttab');
$('nav').getPrevious().addClass('prevtab');
var c = $('nav').getChildren();
c[0].addClass('first');
c[c.length-1].addClass('last');

编辑:现在工作。

第二次/第三次编辑:

好的,我误解了您使用 .active 类的方式。尝试这个:

var n = $('nav').getElement('.active').getNext();
if (n) n.addClass('nexttab');
var p = $('nav').getElement('.active').getPrevious();
if (p) p.addClass('prevtab');
var c = $('nav').getChildren();
c[0].addClass('first');
c[c.length-1].addClass('last');
于 2009-04-30T02:09:32.477 回答
0
$each($$('#nav .active'),function(item){
                            item.getPrevious().classname='prevtab';
                         }
      );

这是第一行。

第二你可以使用 getNext
第三你可以使用 $('#nav').getFirst //确保它有孩子....
第四你可以使用 getLast

于 2009-04-30T02:26:08.133 回答