Форум программистов, компьютерный форум, киберфорум
jQuery
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.83/6: Рейтинг темы: голосов - 6, средняя оценка - 4.83
3 / 3 / 3
Регистрация: 01.06.2016
Сообщений: 307

Обернуть элементы друг в друга

04.03.2019, 14:35. Показов 1268. Ответов 5
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте.

Вроде не сложное задание, но почему-то до сих пор не догоню...

Есть html (схематично):
HTML5
1
2
3
<div class="doc"><a href="some_file.doc">Скачать документ 1</a></div>
<div class="doc"><a href="some_file2.doc">Скачать документ 2</a></div>
<div class="doc"><a href="some_file3.doc">Скачать документ 1</a></div>
Необходимо с помощью jQuery "вывернуть всё наизнанку", чтобы получилось:
HTML5
1
2
3
 <a href="some_file.doc"><div class="doc">Скачать документ 1</div></a>
 <a href="some_file2.doc"><div class="doc">Скачать документ 2</div></a>
 <a href="some_file3.doc"><div class="doc">Скачать документ 3</div></a>
При таком раскладе вроде всё просто:
JavaScript
1
$('a').wrapInner("<div class='doc'></div>").unwrap();
Но дивы могут быть не только с классом doc, но и с классами: pdf, zip, excel и ещё несколько (по типу документов).
Как сделать, чтобы подобное оборачивание действовало применительно к выбранному списку классов?
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
04.03.2019, 14:35
Ответы с готовыми решениями:

Как в PHP отделить элементы друг от друга, чтобы не ругались друг на друга?
&lt;?php $chitat = fopen('yoo.txt', 'r'); if (!$chitat) { echo 'Ошибка при открытии файла yoo.txt'; } while (false !== ($char =...

Элементы накладываются друг на друга
Элементы накладываются друг на друга. Работаю в NetBeans. Что происходит в началеМышь бегает по панели В итоге: Мышь убегает с нее

Элементы перекрывают друг друга
есть DockPanel в ней 3 элемента Image StackPanel Image. При уменьшении окна StacPanel перекрывается Image'ами а Image друг другом не...

5
Эксперт JS
2037 / 1096 / 409
Регистрация: 29.04.2016
Сообщений: 2,625
04.03.2019, 17:09
Prtoy,

Можно так -> https://codepen.io/Mr_Sergo/pe... itors=1010
HTML5
1
2
3
<div class="doc1"><a href="some_file1.doc">Скачать документ 1</a></div>
<div class="doc2"><a href="some_file2.doc">Скачать документ 2</a></div>
<div class="doc3"><a href="some_file3.doc">Скачать документ 3</a></div>
JavaScript
1
$('a').each((i,e) => $(e).wrapInner("<div class='" + $(e).parent().attr('class') + "'></div>").unwrap() );
1
3 / 3 / 3
Регистрация: 01.06.2016
Сообщений: 307
05.03.2019, 14:43  [ТС]
Mr_Sergo, спасибо. А как сделать, чтобы скрипт применялся к конкретному списку дивов (.doc, .pdf, .zip etc)?
0
Эксперт JS
2037 / 1096 / 409
Регистрация: 29.04.2016
Сообщений: 2,625
05.03.2019, 14:55
Цитата Сообщение от Prtoy Посмотреть сообщение
к конкретному списку дивов (.doc, .pdf, .zip etc)?
Наверное вы имеете ввиду к конкретному расширению файла, что находится в конце ссылки href ? То есть вам нужно это делать, например, имея массив вида
JavaScript
1
let arr = ['.doc', '.pdf', '.zip', '.etc'];
что бы оборачивание происходило со всеми найденными расширениями в ссылках href ?

Или вы имеете ввиду что
Цитата Сообщение от Prtoy Посмотреть сообщение
к конкретному списку дивов (.doc, .pdf, .zip etc)?
(.doc, .pdf, .zip etc) это классы дивов к которым нужно применить оборачивание?
0
3 / 3 / 3
Регистрация: 01.06.2016
Сообщений: 307
05.03.2019, 16:00  [ТС]
Цитата Сообщение от Mr_Sergo Посмотреть сообщение
(.doc, .pdf, .zip etc) это классы дивов к которым нужно применить оборачивание?
Это классы дивов. От класса дива там оформление зависит... Соответственно, переоборачивать нужно определённый список дивов.
0
Эксперт JS
2037 / 1096 / 409
Регистрация: 29.04.2016
Сообщений: 2,625
05.03.2019, 18:27
Лучший ответ Сообщение было отмечено Prtoy как решение

Решение

Цитата Сообщение от Prtoy Посмотреть сообщение
переоборачивать нужно определённый список дивов
Можно так -> https://codepen.io/Mr_Sergo/pe... itors=1010
HTML5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<div class="doc"><a href="some_file1.doc">Скачать документ 1 doc</a></div>
<div class="doc"><a href="some_file2.doc">Скачать документ 2 doc</a></div>
<div class="doc"><a href="some_file3.doc">Скачать документ 3 doc</a></div>
<br>
<div class="pdf"><a href="some_file1.pdf">Скачать документ 1 pdf</a></div>
<div class="pdf"><a href="some_file2.pdf">Скачать документ 2 pdf</a></div>
<div class="pdf"><a href="some_file3.pdf">Скачать документ 3 pdf</a></div>
<br>
<div class="zip"><a href="some_file1.zip">Скачать документ 1 zip</a></div>
<div class="zip"><a href="some_file2.zip">Скачать документ 2 zip</a></div>
<div class="zip"><a href="some_file3.zip">Скачать документ 3 zip</a></div>
<br>
<div class="etc"><a href="some_file1.etc">Скачать документ 1 etc</a></div>
<div class="etc"><a href="some_file2.etc">Скачать документ 2 etc</a></div>
<div class="etc"><a href="some_file3.etc">Скачать документ 3 etc</a></div>
JavaScript
1
2
3
4
5
6
7
8
9
10
11
wrap(
    ['.doc', '.pdf', '.etc']
);
 
function wrap(arr){
    $.each(arr,(i,e) => {
        $(e).each((ii,ee) => {
            $(ee).children('a').wrapInner("<div class='" + $(ee).children('a').parent().attr('class') + "'></div>").unwrap();
        });
    });
}
.zip специально не стал вносить в массив классов для наглядности примера.
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
05.03.2019, 18:27
Помогаю со студенческими работами здесь

Расположить элементы друг напротив друга
Как такое застилизовать как на картинке... &lt;div class=&quot;pager-block&quot; style=&quot;float:left;&quot;&gt; &lt;img src=&quot;{{...

В конструкторе элементы накладываются друг на друга
Добрый день! Начал осваивать visual c# и появился следующий вопрос. Пишу первую программу - электронное тестирование (при открытии на...

Элементы с установленным z-index не перекрывают друг-друга
Div с классом round-div должен располагаться над картинкой с классом under_div, но вместо этого он вытесняет ее вниз. Позиционирование для...

Позиционировать элементы относительно друг друга (CSS)
Здравствуйте! Подскажите, пожалуйста, как можно позиционировать элементы относительно друг друга? Например, &lt;div ... &gt;&lt;/div&gt;...

Элементы управления не должны накладываться друг на друга
Разработать программу, динамически порождающую на button и label. Как сделать так, чтобы элементы управления не накладывались друг на друга...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru