Аватар для Mailo
178 / 226 / 31
Регистрация: 18.02.2010
Сообщений: 2,313

Как скопировать всё содержимое тега (включая другие теги и их содержимое) и вставить внутрь другого тега

30.06.2018, 19:46. Показов 4632. Ответов 6
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Пробовал .clone
JavaScript
1
$(".la_desktop").clone().appendTo(".la_mobile");
HTML:



HTML5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
<div class="l_articles la_desktop">
        <span class="c_head">Статьи</span>
        <div class="la_item">
            <a href="">ИНТЕНСИВНАЯ ТЕХНОЛОГИЯ ВЫРАЩИВАНИЯ КАПУСТЫ БЕЛОКОЧАННОЙ И
КРАСНОКОЧАННОЙ</a>
            <img src="images/art_1.jpg" alt="">
            <span>По своей сути рыбатекст является альтернативой традиционному lorem ipsum, который вызывает у некторых людей недоумение при попытках прочитать рыбу текст. </span>
        </div>
        <div class="la_item">
            <a href="">Болезни огурцов, кабачков, арбузов и 
других тыквенных.</a>
            <img src="images/art_2.jpg" alt="">
            <span>По своей сути рыбатекст является альтернативой традиционному lorem ipsum, который вызывает у некторых людей недоумение при попытках прочитать рыбу текст. </span>
        </div>
    </div>
 
...........
 
 
 
<div class="la_mobile"></div>



Но эта зараза всё обрабатывает в реальном времени + копирует ни только теги и их содержимое, но ещё и их свойства. И когда у меня на брекпойнте происходит вот такой фокус:

CSS
1
2
3
4
5
6
7
8
9
10
@media only screen and (max-width : 900px){
.la_desktop{
    display: none;
}
.la_mobile{
    display: block;
}
 
 
}
То .la_mobile тоже всё затирается, т.к. я понял клонирование уже происходит с пустоты. А мне надо при загрузке документа один раз скопировать содержимое, и всё, причём в случае с мобильными устройствами .la_desktop уже будет скрыт, но из него надо всё скопировать и поместить в .la_mobile что бы всё там уже лежало.
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
30.06.2018, 19:46
Ответы с готовыми решениями:

Как узнать содержимое указанного тега?
Как сделать подобное в коде ниже, только работающий вариант? var p = document.getElementsByTagName(&quot;p&quot;); ...

Как изменить содержимое тега через объектную модель документа?
Надо с помощью javascript изменить содержимое произвольного тэга: Пример: &lt;tag&gt;содержимое&lt;/tag&gt;, где имя tag - произвольно. ...

Смогу ли я получить доступ к переменной данного тега из другого тега script?
если я в одном теге script объявлю переменную с именем mymap,то смогу ли я получить доступ к этой переменной из другого тега script. ...

6
Модератор
 Аватар для Thisman
771 / 352 / 142
Регистрация: 17.07.2013
Сообщений: 992
30.06.2018, 20:13
Лучший ответ Сообщение было отмечено Thisman как решение

Решение

Если почитать оф. документацию, то можно понять, что метод clone копирует не содержимое тега, а сам тег вместе с его внутренностями, поэтому в итоге после клонирования у вас получается:

HTML5
1
2
3
<div class='la_mobile'>
   <div class='la_desktop'>...</div>
</div>
В вашем случае можно клонировать объект, менять ему класс на нужный и вставлять в контейнер, где уже находился .la_desktop

JavaScript
1
2
3
4
5
const container = document.body; // или ваш собственный тэг
$(".la_desktop").clone()
    .appendTo(container)
    .removeClass('la_desktop')
    .addClass('la_mobile');

Пример в фидле


Замечу, что это очень долгая и дорогая операция ( особенно, если у вас в la_desktop лежит целый сайт ). Зачем вам такие ухищрения, возможно вашу задачу можно решить более оптимизированным путем
1
 Аватар для Mailo
178 / 226 / 31
Регистрация: 18.02.2010
Сообщений: 2,313
30.06.2018, 20:58  [ТС]
la_desktop это часть боковой панели статей, контент которой у "Васи дизайнера" в мобильной версии перемещается из левого блока в конец основного контента, т.е. по коду перепрыгивая весь контентный блок и вообще перепрыгивая в другой контейнер. На css кроме как позиционированием + нижним падингом статьи туда не зафигачишь, а фигачить позиционированием нельзя т.к. высота статей динамическая (могут новые статьи добавляться). Сделал короче по тупому через ".appendTo", вроде работает, уж насколько сейчас это напряжная операция сказать сложно.

HTML5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
 <div class="la_desktop">
    <div class="l_articles">
        <span class="c_head">Статьи</span>
        <div class="la_item">
            <a href="">ИНТЕНСИВНАЯ ТЕХНОЛОГИЯ ВЫРАЩИВАНИЯ КАПУСТЫ БЕЛОКОЧАННОЙ И
КРАСНОКОЧАННОЙ</a>
            <img src="images/art_1.jpg" alt="">
            <span>По своей сути рыбатекст является альтернативой традиционному lorem ipsum, который вызывает у некторых людей недоумение при попытках прочитать рыбу текст. </span>
        </div>
        <div class="la_item">
            <a href="">Болезни огурцов, кабачков, арбузов и 
других тыквенных.</a>
            <img src="images/art_2.jpg" alt="">
            <span>По своей сути рыбатекст является альтернативой традиционному lorem ipsum, который вызывает у некторых людей недоумение при попытках прочитать рыбу текст. </span>
        </div>
    </div>
</div>
HTML5
1
<div class="la_mobile"></div>
JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
//articles mobile migrate (900px)
function checkWinWidth(hq) {
    if (hq.matches) {
        $(window).scroll(function() {
            $(".l_articles").appendTo(".la_mobile");
        }).scroll();
 
    } else {
 
        $(window).scroll(function() {
                $(".l_articles").appendTo(".la_desktop");
        }).scroll();
    }
}
var hq = window.matchMedia("(max-width: 900px)");
hq.addListener(checkWinWidth);
checkWinWidth(hq);
0
Модератор
 Аватар для Thisman
771 / 352 / 142
Регистрация: 17.07.2013
Сообщений: 992
30.06.2018, 21:51
Цитата Сообщение от Mailo Посмотреть сообщение
la_desktop это часть боковой панели статей, контент которой у "Васи дизайнера" в мобильной версии перемещается из левого блока в конец основного контента,
Можно попробовать поэкспериментировать с display:flex

HTML5
1
2
3
4
  <div class='container'>
    <div class='content'></div>
    <div class='sidebar'></div>
  </div>
CSS
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
.container {
  display: flex;
  flex-direction: row-reverse;
  width: 100%;
}
 
.content {
  width: 80%;
  height: 500px;
  background: #333;
}
 
.sidebar {
  width: 20%;
  background: red;
  height: 500px;
}
 
@media only screen and (max-width : 900px){
  .container{
      display: block;
  }
  
  .sidebar {
    width: 100%;
  }
}
0
 Аватар для Mailo
178 / 226 / 31
Регистрация: 18.02.2010
Сообщений: 2,313
30.06.2018, 22:34  [ТС]
Ага знаю что там с ордером очень всё просто можно оформить, но меня этот флекс бесит куча свойств прописывать и ещё для всех браузеров префиксы кросбраузерности, бумажный лист на тег. Потому не использую эту технологию.
0
30.06.2018, 23:39

Не по теме:

Цитата Сообщение от Mailo Посмотреть сообщение
куча свойств прописывать
Во flexbox-e их там всего около десятка.
Цитата Сообщение от Mailo Посмотреть сообщение
для всех браузеров префиксы
Вы серьёзно прописываете вендорные префиксы вручную? Есть масса вариантов, когда про такую рутинную работу можно навсегда забыть. Зачем же себя так мучить?
Цитата Сообщение от Mailo Посмотреть сообщение
Потому не использую эту технологию.
Поверьте, что когда втянетесь, то будет крайне сложно не использовать. Не отставайте, ведь сегодня уже начинают в полный рост Grid Layout юзать, а вы еще с предыдущими фишками не успели разобраться. ;D

0
01.07.2018, 01:15  [ТС]

Не по теме:

Да я уже втянулся, спектр решения задач крайне узок во флексе, автоматика до сих пор не не слышала про свойство display: -ms-flexbox; в отличии от ни таких уж и старых ослов, в общем хороший инструмент для изучения гугла. Вот ща уже новый делают... ждём новый багвэйв, никтож не сделает к примеру order для float или там архисложную задачу, убрать у display-block отступы, чтолб на глаз марджини не обрезать, не давайте нам Grid Layout. Хотя если он утопит бутстрап я его первым изучу и на смартгрид забтю.

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
01.07.2018, 01:15
Помогаю со студенческими работами здесь

Определить содержимое XML тега
сервер присылает ответ в виде XML. Нужно определить текст в XML теге, например из &lt;title&gt;123456&lt;/title&gt; нужно извлечь 123456. ...

Передать содержимое тега в переменную
Каким образом передать в переменную содержимое &lt;p id=&quot;theone&quot;&gt;Содержимое&lt;/p&gt;

При выборе из выпадающего меню одного из вариантов, в определенном месте меняется содержимое тега <p>
Доброго времени суток! Есть такая задача: при выборе из выпадающего меню одного из вариантов, в определенном месте меняется содержимое...

Как вставить внутрь тега?
Добрый день! Хочу вставить скрипт в конец тега head используя юзерскрипт для Tamper monkey FF. Подскажите синтаксис JavaScript, вчера...

Содержимое тега из строки
делаю аякс запрос. в ответ приходи html. Как теперь из полученного html получить содержимое определенных тегов? т.е. получаю ответ...


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Опции темы

Новые блоги и статьи
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем. . . .
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
SDL3 для Web (WebAssembly): Сборка библиотек: SDL3, Box2D, FreeType, SDL3_ttf, SDL3_mixer и SDL3_image из исходников с помощью CMake и Emscripten
8Observer8 27.02.2026
Недавно вышла версия 3. 4. 2 библиотеки SDL3. На странице официальной релиза доступны исходники, готовые DLL (для x86, x64, arm64), а также библиотеки для разработки под Android, MinGW и Visual Studio. . . .
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru