Разбить элементы в группы по три штуки
Доброго времени. Задача предельно проста - разбить заранее неизвестное количество элементов по три штуки, т.е. есть такое
<img src="" /> <img src="" /> <img src="" /> <img src="" /> <img src="" /> <img src="" /> <img src="" /> <img src="" /> .... а нужно сделать из этого такое <div> <img src="" /> <img src="" /> <img src="" /> </div> <div> <img src="" /> <img src="" /> <img src="" /> </div> <div> <img src="" /> <img src="" /> <div> .... помогите пожалуйста. |
HTML код можно редактировать даже в блокноте. Какие-то проблемы?
|
drmedus,
:write: <!DOCTYPE HTML> <html> <head> <title>Untitled</title> <meta charset="utf-8" /> <style type="text/css"> div { border: 2px solid blue; margin: 2px; padding: 2px; } img{ border: #FF0000 1px dotted; width: 50px; height: 50px; } </style> <script src="http://code.jquery.com/jquery-latest.js"></script> </head> <body> <img src="" /> <img src="" /> <img src="" /> <img src="" /> <img src="" /> <img src="" /> <img src="" /> <img src="" /> <script> while ($('body > img:lt(3)').size()) { $('body > img:lt(3)').wrapAll("<div></div>"); } </script> </body> </html> |
олдскул)
<!DOCTYPE HTML> <html> <head> <title>Untitled</title> <meta charset="utf-8" /> <style type="text/css"> div { border: 2px solid blue; margin: 2px; padding: 2px; } img{ border: #FF0000 1px dotted; width: 50px; height: 50px; } </style> <script src="http://code.jquery.com/jquery-latest.js"></script> </head> <body> <img src="" /> <img src="" /> <img src="" /> <img src="" /> <img src="" /> <img src="" /> <img src="" /> <img src="" /> <script> var parent = document.body, imgs = [].slice.call(parent.getElementsByTagName('img')); for(var i = 0, l = imgs.length, div; i < l; i++){ if(i%3 === 0) div = parent.appendChild(document.createElement('div')); div.appendChild(imgs[i]); } </script> </body> </html> |
Цитата:
|
Цитата:
|
вроде то что нужно. спасибо ребята.
|
хотя нет. Div должен создаваться именно на месте трех картинок. а сейчас он у меня появляется после body.
|
я написал вот так
var parent = $('.jTscroller'), imgs = $('.jTscroller a'); for(var i = 0, l = imgs.length, div; i < l; i++){ if(i%3 === 0) div = parent.appendChild(document.createElement('div')); div.appendChild(imgs[i]); } и он ругается на строчку if(i%3 === 0) div = parent.appendChild(document.createElement('div')); |
drmedus, если вы используете jquery($) - используйте jquery.
У меня нет желания вам пояснять что такое jquery объект, и как он взаимодействует с нативным js. Предполагается, что используя jquery вы понимаете что это такое. |
Часовой пояс GMT +3, время: 14:00. |