Посчитать сумму ширины всех элементов в наборе без использования цикла
Доброго времени суток, задался вот таким вопросом. Есть набор элементов, найденных с помощью 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, время: 11:18. |