Как обернуть все элементы, как это - PullRequest
0 голосов
/ 19 декабря 2010
<div id="editor">
  text
  <div id="wrap"> <!-- here -->
    <img src="images/1.jpg"/>
  </div>
  text</p>
  <div id="wrap"> <!-- and here -->
    <img src="images/3.jpg"/>
    <img src="images/4.jpg"/>
    <img src="images/5.jpg"/>
    <img src="images/6.jpg"/>
  </div>
</div>

Ответы [ 2 ]

4 голосов
/ 19 декабря 2010

Я полагаю, вы хотите обернуть группы из <img> элементов.

Если это так, сделайте следующее:

Пример: http://jsfiddle.net/patrick_dw/RXFVM/1/

$('#editor > img:not(img + img)').each(function() {
    $(this).nextUntil(':not(img)').andSelf().wrapAll('<div class="wrap"></div>');
});
  • 'img:not(img + img)': получить изображения, которые непредшествует изображение
  • .each(): перебрать их
  • .nextUntil(':not(img)'): получить все последующие элементы, если они являются изображениями
  • .andSelf(): включитьисходное изображение
  • .wrapAll('<div class="wrap"></div>'): обернуть группу

Обратите внимание, что я изменил id="wrap" на class="wrap", поскольку вы не можете повторно использовать идентификаторы на странице.


РЕДАКТИРОВАТЬ: Обновлен пример ссылки для использования неразбитых изображений.

0 голосов
/ 19 декабря 2010

Как я понимаю, вы хотите обернуть изображения с помощью jquery?

ну, это может выглядеть так

$('img').wrap('<div id="wrap" />');

но на самом деле вы должны быть более точным, если хотите получить лучший ответ

...