Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей.
Здесь обсуждаются безопасность, программирование, технологии и многое другое.
Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
 |

25.05.2008, 08:44
|
|
Новичок
Регистрация: 01.08.2007
Сообщений: 24
Провел на форуме: 48533
Репутация:
1
|
|
сортировка tbodies
Мне надо сортировать таблицу, разделённую на tbodies. Например,
----------------------------
tbody A column total
....
....
----------------------------
tbody B column total
....
....
....
....
----------------------------
Как можно поменять tbody A и tbody B местами? Сложность в том, что они могут быть разного формата.
|
|
|

25.05.2008, 12:53
|
|
Постоянный
Регистрация: 30.08.2007
Сообщений: 773
Провел на форуме: 3069349
Репутация:
808
|
|
Код:
<script type="text/javascript">
function swap(a,b)
{
return [
a.parentNode.replaceChild(b.cloneNode(true), a),
b.parentNode.replaceChild(a.cloneNode(true), b)
];
}
</script>
|
|
|

27.05.2008, 05:24
|
|
Новичок
Регистрация: 01.08.2007
Сообщений: 24
Провел на форуме: 48533
Репутация:
1
|
|
Спасибо. Только почему-то не работает.
Код:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
<title>Test</title>
<style type="text/css">
body { font-family: arial, sans-serif; }
h1, h2 { font-family: sans; }
dt { display: block; float: left; clear: both; width: 100px; text-align: right; margin: 0 8px 0 0; }
</style>
</head>
<body>
<table id="sortTest">
<tbody>
<tr><th>tbody A <a href="" onclick="sort()">SORT</a></th><th>column total</th></tr>
<tr><td></td><td>cell 1</td></tr>
<tr><td></td><td>cell 2</td></tr>
</tbody>
<tbody>
<tr><th>tbody B</th><th>column total</th></tr>
<tr><td></td><td>cell 1</td></tr>
<tr><td></td><td>cell 2</td></tr>
<tr><td></td><td>cell 3</td></tr>
<tr><td></td><td>cell 4</td></tr>
</tbody>
</table>
<script type="text/javascript">
function sort()
{
var tblSortTest = document.getElementById('sortTest');
var tBodies = tblSortTest.getElementsByTagName("tbody");
swap( tBodies[1], tBodies[0] );
}
function swap(a,b)
{
return [
a.parentNode.replaceChild(b.cloneNode(true), a),
b.parentNode.replaceChild(a.cloneNode(true), b)
];
}
</script>
</body>
</html>
|
|
|

27.05.2008, 13:10
|
|
Постоянный
Регистрация: 30.12.2006
Сообщений: 434
Провел на форуме: 849583
Репутация:
210
|
|
У тебя ссылка должна false возврвщать! Это означает, что мы отменяем действие по умолчанию
А то скрипт срабатывает(меняет местами строки), при нажатии на ссылку, а потом ты опять переходишь по ссылке(ты же ведь ее нажал) на эту же на эту страницу в изначальном виде, нужно отменить этот переход
замени ссылку на
<a href="javascript:void(0)" onclick="sort()">SORT</a>
можно и
<a href="javascript:sort(); void(0);">SORT</a>
или
<a href="javascript:sort()">SORT</a>
если sort возвращает false
Прям полет фантазии 
Последний раз редактировалось Naydav; 27.05.2008 в 13:18..
|
|
|

27.05.2008, 13:43
|
|
Постоянный
Регистрация: 30.08.2007
Сообщений: 773
Провел на форуме: 3069349
Репутация:
808
|
|
Сообщение от Naydav
или
Код:
<a href="javascript:sort()">SORT</a>
если sort возвращает false
Прям полет фантазии 
Если последнее выражение возвращает любое значение, отличное от void undefined, то на странице появляется строка, полученная в результате приведения этого значения к строковому типу.
|
|
|

27.05.2008, 14:06
|
|
Постоянный
Регистрация: 30.12.2006
Сообщений: 434
Провел на форуме: 849583
Репутация:
210
|
|
Если последнее выражение возвращает любое значение, отличное от void undefined, то на странице появляется строка, полученная в результате приведения этого значения к строковому типу.
верно 
ну тогда меняем этот вариант на
<a href="#" onclick="sort()">SORT</a>
Последний раз редактировалось Naydav; 27.05.2008 в 14:20..
|
|
|

28.05.2008, 05:28
|
|
Новичок
Регистрация: 01.08.2007
Сообщений: 24
Провел на форуме: 48533
Репутация:
1
|
|
Спасибо, всё работает.
Последний раз редактировалось байкал; 28.05.2008 в 05:48..
|
|
|
|
 |
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|