|
17.10.2015, 23:38
|
|
Профессор
|
|
Регистрация: 27.05.2010
Сообщений: 33,105
|
|
Сообщение от FINoM
|
Вот еще один пример древнего API:
|
спасибо не знал
|
|
17.10.2015, 23:49
|
|
Новичок
|
|
Регистрация: 05.09.2010
Сообщений: 2,298
|
|
Сообщение от рони
|
спасибо не знал
|
Таких методов, на самом деле, куча.
|
|
19.10.2015, 01:44
|
|
Профессор
|
|
Регистрация: 27.05.2010
Сообщений: 33,105
|
|
Сообщение от FINoM
|
если можно заюзать slice?
|
можно и так
Array.apply(null,c.querySelectorAll(".search-element"))
|
|
19.10.2015, 11:28
|
|
Новичок
|
|
Регистрация: 05.09.2010
Сообщений: 2,298
|
|
Сообщение от рони
|
можно и так
|
В IE8 будет ругаться. В идеале, если забить на совместимость, лучше сделать так:
Array.from(c.querySelectorAll('.selector'));
|
|
21.10.2015, 10:24
|
Аспирант
|
|
Регистрация: 20.07.2015
Сообщений: 64
|
|
Сообщение от рони
|
Feuerman063,
<!DOCTYPE HTML>
<html>
<head>
<title>Untitled</title>
<meta charset="utf-8">
</head>
<body>
<div id="search">
<div class="search-element">
<div><a href="..."><img src="..."></a></div>
<div><a href="...">Вася</a></div>
</div>
<div class="search-element">
<div><a href="..."><img src="..."></a></div>
<div><a href="...">Аня</a></div>
</div>
<div class="search-element">
<div><a href="..."><img src="..."></a></div>
<div><a href="...">Вова</a></div>
</div>
<div class="search-element">
<div><a href="..."><img src="..."></a></div>
<div><a href="...">Боря</a></div>
</div>
</div>
<script type='text/javascript'>
var c = document.querySelector("#search");
Array.apply(null,c.querySelectorAll(".search-element"))
.sort(function(a, b) {
a = a.querySelector("div:last-child > a").text;
b = b.querySelector("div:last-child > a").text;
return a < b ? -1 : a > b ? 1 : 0
})
.forEach(function(a) {
c.appendChild(a)
});
</script>
</body>
</html>
вариант на jQuery тут Как упорядочить несколько тегов одновременно
|
Рони, доброго дня! А вот такой вопрос есть...а можно ли сделать так, чтоб сортировка происходила исходя из классов? Т.е. есть два класса ".negativ" и ".pozitiv". Можно ли сделать так, чтоб сначала вывелись все классы ".pozitiv", а лишь после этого все элементы с классом ".negativ"?
|
|
21.10.2015, 10:48
|
|
Профессор
|
|
Регистрация: 27.05.2010
Сообщений: 33,105
|
|
malefikus13,
да ... минимальный html сделайте
|
|
21.10.2015, 10:53
|
Аспирант
|
|
Регистрация: 20.07.2015
Сообщений: 64
|
|
Сообщение от рони
|
malefikus13,
да ... минимальный html сделайте
|
К примеру вот так. Сначала чтоб вывелись все class="pozitive", а следом class="negative"
<div id="block">
<div class="negative">
<div><b>Вася</b></div>
</div>
<div class="pozitive">
<div><b>Аня</b></div>
</div>
<div class="pozitive">
<div><b>Вова</b></div>
</div>
<div class="negative">
<div><b>Боря</b></div>
</div>
</div>
|
|
21.10.2015, 11:09
|
|
Профессор
|
|
Регистрация: 27.05.2010
Сообщений: 33,105
|
|
malefikus13,
<!DOCTYPE HTML>
<html>
<head>
<title>Untitled</title>
<meta charset="utf-8">
<style type="text/css">
.pozitive{
background-color: #FF0000;
}
.negative{
background-color: #008000;
}
.test{
background-color: #D2691E;
}
a{
color: #FFFF00;
}
</style>
</head>
<body>
<div id="block">
<div class="test">
<div><b>Пётр</b></div>
</div>
<div class="negative">
<div><b>Вася</b></div>
</div>
<div class="pozitive">
<div><b>Аня</b></div>
</div>
<div class="pozitive">
<div><b>Вова</b></div>
</div>
<div class="negative">
<div><b>Боря</b></div>
</div>
</div>
<script type='text/javascript'>
var c = document.querySelector("#block");
Array.apply(null,document.querySelectorAll("#block > div"))
.sort(function(a, b) {
a = a.classList;
a = a.contains('pozitive') ? -1 : a.contains('negative') ? 0 : 1;
b = b.classList;
b = b.contains('pozitive') ? -1 : b.contains('negative') ? 0 : 1;
return a < b ? -1 : a > b ? 1 : 0
})
.forEach(function(a) {
c.appendChild(a)
});
</script>
</body>
</html>
|
|
21.10.2015, 11:16
|
Аспирант
|
|
Регистрация: 20.07.2015
Сообщений: 64
|
|
рони, спасибо большое!
|
|
21.10.2015, 11:22
|
Аспирант
|
|
Регистрация: 20.07.2015
Сообщений: 64
|
|
рони,
а не подскажите еще, для общего развития, что по этой теме следует почитать. Очень хочется поглубже данную тему усвоить. Заранее спасибо Вам!
|
|
|
|