Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 11.03.2014, 11:27
Новичок на форуме
Отправить личное сообщение для drmedus Посмотреть профиль Найти все сообщения от drmedus
 
Регистрация: 11.03.2014
Сообщений: 4

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

помогите пожалуйста.
Ответить с цитированием
  #2 (permalink)  
Старый 11.03.2014, 12:35
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

HTML код можно редактировать даже в блокноте. Какие-то проблемы?
__________________
В личку только с интересными предложениями
Ответить с цитированием
  #3 (permalink)  
Старый 11.03.2014, 12:51
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,108

drmedus,

<!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>
Ответить с цитированием
  #4 (permalink)  
Старый 11.03.2014, 13:22
Аватар для Aetae
Тлен
Отправить личное сообщение для Aetae Посмотреть профиль Найти все сообщения от Aetae
 
Регистрация: 02.01.2010
Сообщений: 6,583

олдскул)
<!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>
__________________
29375, 35

Последний раз редактировалось Aetae, 11.03.2014 в 13:26.
Ответить с цитированием
  #5 (permalink)  
Старый 11.03.2014, 13:39
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,108

Сообщение от Aetae
i &lt; l
но работает
Ответить с цитированием
  #6 (permalink)  
Старый 11.03.2014, 13:45
Аватар для Aetae
Тлен
Отправить личное сообщение для Aetae Посмотреть профиль Найти все сообщения от Aetae
 
Регистрация: 02.01.2010
Сообщений: 6,583

Сообщение от рони Посмотреть сообщение
но работает
Движок глючит. У меня в коде всё скучно.)
__________________
29375, 35
Ответить с цитированием
  #7 (permalink)  
Старый 11.03.2014, 14:46
Новичок на форуме
Отправить личное сообщение для drmedus Посмотреть профиль Найти все сообщения от drmedus
 
Регистрация: 11.03.2014
Сообщений: 4

вроде то что нужно. спасибо ребята.
Ответить с цитированием
  #8 (permalink)  
Старый 11.03.2014, 15:17
Новичок на форуме
Отправить личное сообщение для drmedus Посмотреть профиль Найти все сообщения от drmedus
 
Регистрация: 11.03.2014
Сообщений: 4

хотя нет. Div должен создаваться именно на месте трех картинок. а сейчас он у меня появляется после body.
Ответить с цитированием
  #9 (permalink)  
Старый 11.03.2014, 15:34
Новичок на форуме
Отправить личное сообщение для drmedus Посмотреть профиль Найти все сообщения от drmedus
 
Регистрация: 11.03.2014
Сообщений: 4

я написал вот так
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'));
Ответить с цитированием
  #10 (permalink)  
Старый 11.03.2014, 21:54
Аватар для Aetae
Тлен
Отправить личное сообщение для Aetae Посмотреть профиль Найти все сообщения от Aetae
 
Регистрация: 02.01.2010
Сообщений: 6,583

drmedus, если вы используете jquery($) - используйте jquery.

У меня нет желания вам пояснять что такое jquery объект, и как он взаимодействует с нативным js. Предполагается, что используя jquery вы понимаете что это такое.
__________________
29375, 35
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск