Форум программистов, компьютерный форум, киберфорум
JavaScript
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.90/21: Рейтинг темы: голосов - 21, средняя оценка - 4.90
 Аватар для Mailo
178 / 226 / 31
Регистрация: 18.02.2010
Сообщений: 2,313

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

30.06.2018, 19:46. Показов 4657. Ответов 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
Ответ Создать тему
Новые блоги и статьи
Программный контроль заполнения реквизита табличной части документа
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: реализовать контроль заполнения реквизита "ПричинаСписания". . .
wmic не является внутренней или внешней командой
Maks 02.04.2026
Решение: DISM / Online / Add-Capability / CapabilityName:WMIC~~~~ Отсюда: https:/ / winitpro. ru/ index. php/ 2025/ 02/ 14/ komanda-wmic-ne-naydena/
Программная установка даты и запрет ее изменения
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: при создании документов установить период списания автоматически. . .
Вывод данных в справочнике через динамический список
Maks 01.04.2026
Реализация из решения ниже выполнена на примере нетипового справочника "Спецтехника" разработанного в конфигурации КА2. Задача: вывести данные из ТЧ нетипового документа. . .
Программное заполнения текстового поля в реквизите формы документа
Maks 01.04.2026
Алгоритм из решения ниже реализован на нетиповом документе "ВыдачаОборудованияНаСпецтехнику" разработанного в конфигурации КА2, в дополнении к предыдущему решению. На форме документа создается. . .
К слову об оптимизации
kumehtar 01.04.2026
Вспоминаю начало 2000-х, университет, когда я писал на Delphi. Тогда среди программистов на форумах активно обсуждали аккуратную работу с памятью: нужно было следить за переменными, вовремя. . .
Идея фильтра интернета (сервер = слой+фильтр).
Hrethgir 31.03.2026
Суть идеи заключается в том, чтобы запустить свой сервер, о чём я если честно мечтал давно и давно приобрёл книгу как это сделать. Но не было причин его запускать. Очумелые учёные напечатали на. . .
Модель здравосоХранения 6. ESG-повестка и устойчивое развитие; углублённый анализ кадрового бренда
anaschu 31.03.2026
В прикрепленном документе раздумья о том, как можно поменять модель в будущем
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru