Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 20.05.2009, 04:55
Интересующийся
Отправить личное сообщение для denlem Посмотреть профиль Найти все сообщения от denlem
 
Регистрация: 20.05.2009
Сообщений: 13

Jquery - поменять местами блоки
jQuery.
Есть такое:
...
<td id="leftcol" width="25%" height="400" align="center">
<div>Block 1 <a class="up" href="#">Up</a><a class="down" href="#">Down</a></div>
<div>Block 2 <a class="up" href="#">Up</a><a class="down" href="#">Down</a></div>
<div>Block 3 <a class="up" href="#">Up</a><a class="down" href="#">Down</a></div>
</td>
....

При нажатии вверх должен блок с "div-ом" меняться местами с верхним блоком, аналогично и при нажатии вниз.

Написал функцию, но она не работает как надо:
$(document).ready(function(){
$(".up").click(function(){
var adiv = $(this).parents("div").prev()
$(this).parents("div").prependTo(adiv);
return false;
});
$(".down").click(function(){
var adiv = $(this).parents("div").next()
$(this).parents("div").appendTo(adiv);
return false;
});
});


Подскажите как грамотно и правильно это сделать используя jQuery
Ответить с цитированием
  #2 (permalink)  
Старый 20.05.2009, 15:49
Аватар для e1f
e1f e1f вне форума
Профессор
Отправить личное сообщение для e1f Посмотреть профиль Найти все сообщения от e1f
 
Регистрация: 03.04.2009
Сообщений: 1,263

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<script type="text/javascript" src="jquery-1.2.6.js" ></script>
<script type="text/javascript">
<!--
$(document).ready(function(){
    $(".up").click(function(){
        var pdiv = $(this).parent('div');
        pdiv.insertBefore(pdiv.prev());
        return false
    });
    $(".down").click(function(){
        var pdiv = $(this).parent('div');
        pdiv.insertAfter(pdiv.next());
        return false
    });
});
//-->
</script>
</head>
<body>
  <table>
    <tr>
      <td id="leftcol" width="25%" height="400" align="center">
        <div>Block 1 <a class="up" href="#">Up</a><a class="down" href="#">Down</a></div>
        <div>Block 2 <a class="up" href="#">Up</a><a class="down" href="#">Down</a></div>
        <div>Block 3 <a class="up" href="#">Up</a><a class="down" href="#">Down</a></div>
      </td>
    </tr>
  </table>
</body>
</html>
Ответить с цитированием
  #3 (permalink)  
Старый 20.05.2009, 15:55
Интересующийся
Отправить личное сообщение для denlem Посмотреть профиль Найти все сообщения от denlem
 
Регистрация: 20.05.2009
Сообщений: 13

Благодарю!
Ответить с цитированием
  #4 (permalink)  
Старый 09.12.2010, 15:29
Arx Arx вне форума
Новичок на форуме
Отправить личное сообщение для Arx Посмотреть профиль Найти все сообщения от Arx
 
Регистрация: 09.12.2010
Сообщений: 2

Не понимаю как работает parent. Объясните.
Почему если внутренность <div> положить в таблицу, то этот код не работает.
<div><table><tr><td>Block 1 <a class="up" href="#">Up</a><a class="down" href="#">Down</a></td></tr></table></div>

Как нужно модифицировать код в этом случае?
Ответить с цитированием
  #5 (permalink)  
Старый 09.12.2010, 16:00
Аватар для e1f
e1f e1f вне форума
Профессор
Отправить личное сообщение для e1f Посмотреть профиль Найти все сообщения от e1f
 
Регистрация: 03.04.2009
Сообщений: 1,263

parent -- непосредственный родитель. Используйте closest
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
jQuery для загрузки страницы в <div> Dr.Holerik jQuery 12 11.10.2016 17:36
jQuery поменять CSS цвет для текста при наведении мышью (.text:hover) JooZ jQuery 16 15.11.2010 19:56
Jquery + XML + Internet Explorer testdriver jQuery 12 15.10.2009 08:14
Jquery, Dynatree и JSON antirek jQuery 6 01.09.2009 15:00
Как поменять местами элементы в дереве элемента родителя? rar11 Events/DOM/Window 8 01.04.2009 18:53