Перестановка элементов на странице + цикл
Доброго времени суток :)
Мне нужно было переставить на странице, два элемента местами. Воспользовался этим скриптом:
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, время: 11:57. |