Конвертировать 4 строки Jquery в Mootools - PullRequest
1 голос
/ 30 апреля 2009

Следующие строки кода делают две вещи. Первые две строки добавляют классы к братьям и сестрам непосредственно перед и после элемента с заданным идентификатором (в данном случае UL с идентификатором «nav»)

Последние две строки добавляют классы первым и последним к первому и последнему элементу родственного элемента, чей родитель имеет идентификатор «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>

Ответы [ 2 ]

3 голосов
/ 30 апреля 2009

Дайте этому шанс.

$('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');
0 голосов
/ 30 апреля 2009
$each($$('#nav .active'),function(item){
                            item.getPrevious().classname='prevtab';
                         }
      );

Это первая строка.

Во-вторых, вы можете использовать getNext
В-третьих, вы можете использовать $ ('# nav'). GetFirst // убедиться, что у него есть дети ....
В-четвертых, вы можете использовать getLast

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...