Перестановка элементов на странице + цикл
Доброго времени суток :)
Мне нужно было переставить на странице, два элемента местами. Воспользовался этим скриптом: jQuery.fn.swap = function(b) { b = jQuery(b)[0]; var a = this[0], a2 = a.cloneNode(true), b2 = b.cloneNode(true), stack = this; a.parentNode.replaceChild(b2, a); b.parentNode.replaceChild(a2, b); stack[0] = a2; return this.pushStack(stack);}; И сообственно что на что менять: $('td.forumLastPostTd').swap('td.forumThreadTd'); Всё прекрасно меняется местами, но мне нужно, чтобы перестановка элементов произошла со всеми элементами, чьи классы я вписал в скрипт. Скорее всего, нужно воспользоваться циклом: for(var i=0; i<a.length; i++) {...}; Пытался сделать самостоятельно, но ничего не вышло :cray: И.. если не затруднит, могли бы Вы переписать скрипт, чтобы я мог вставлять больше классов для замены? Что-то вроде такого: $('td.forumLastPostTd, td.forumLastPostTd2').swap('td.forumThreadTd, td.forumThreadTd2'); Первый класс заменялся на первый класс в swap, а второй на второй. P.S.: Помогите разобраться с этим вопросом. С Ув. Дмитрий. :victory: |
Как-то так
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js" type="text/javascript"></script> <script> $.fn.swap = function (b) { $(this).each(function(i){ var b1 = $(b)[i], a2 = $(this).clone(), b2 = $(b1).clone(); $(this).replaceWith(b2); $(b1).replaceWith(a2); }); }; $(function() { $('button').click(function(){ $(".odd, .odds").swap($(".even, .evens")); }); }); </script> <div class="odd">odd1</div><br /> <div class="even">even1</div><br /> <div class="odd">odd2</div><br /> <div class="even">even2</div><br /> <div class="odd">odd3</div><br /> <div class="even">even3</div><br /> <button>swap</button><br /> <div class="odds">odds1</div><br /> <div class="evens">evens1</div><br /> <div class="odds">odds2</div><br /> <div class="evens">evens2</div><br /> <div class="odds">odds3</div><br /> <div class="evens">evens3</div> |
Спасибое большое! Всё "почти" правильно.
Могу я как-то с Вами связаться? Долго расписывать, но там появляется небольшая загвоздка.. |
Часовой пояс GMT +3, время: 03:23. |