Разбить элементы в группы по три штуки
Доброго времени. Задача предельно проста - разбить заранее неизвестное количество элементов по три штуки, т.е. есть такое
<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, время: 23:46. |