Посчитать сумму ширины всех элементов в наборе без использования цикла
Доброго времени суток, задался вот таким вопросом. Есть набор элементов, найденных с помощью jquery. Я хочу получить сумму ширины всех элементов.
Как сделать это через цикл я знаю, интересно можно ли это сделать другим образом. |
Цитата:
|
<html>
<head>
</head>
<body>
<div style="width: 10px; height: 20px; background: red"></div>
<div style="width: 10px; height: 20px; background: red"></div>
<div style="width: 10px; height: 20px; background: red"></div>
<script>
collection=[].map.call(document.querySelectorAll("div"), function(x){return x})
getIntWidth=function(x){return parseInt(x.style.width)}
sum=function(x, y){return x+y}
alert(
collection.map(getIntWidth).reduce(sum)
)
</script>
</body>
</html>
|
sogoodweather, это типа не цикл? :D
|
без цикла:
<div id="id1" style="width: 10px; height: 20px; background: red"></div>
<div id="id2" style="width: 10px; height: 20px; background: red"></div>
<div id="id3" style="width: 10px; height: 20px; background: red"></div>
<script>
alert(
document.getElementById('id1').offsetWidth +
document.getElementById('id2').offsetWidth +
document.getElementById('id3').offsetWidth
);
</script>
|
Цитата:
|
:write:
<!DOCTYPE HTML>
<html>
<head>
<title>Untitled</title>
<meta charset="utf-8">
<style type="text/css">
.test{
display: inline-block;
}
.test div{
float: left;
}
</style>
</head>
<body>
<html>
<head>
</head>
<body>
<div style="width: 10px; height: 20px; background: red"></div>
<div style="width: 10px; height: 20px; background: red"></div>
<div style="width: 10px; height: 20px; background: red"></div>
<script>
var b = document.body;
b.classList.add('test')
alert(b.offsetWidth)
</script>
</body>
</html>
</body>
</html>
|
Цитата:
|
| Часовой пояс GMT +3, время: 09:47. |