Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / Jquery копирование элемента / 16 сообщений из 16, страница 1 из 1
27.09.2014, 20:30
    #38759610
вадя
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Jquery копирование элемента
есть эелемент div1 , находится в специальном div0 с display=none.
нужно вытащить его из div0 и поставить в нужное место
если делать append то из div0 он будет перемщен в нужное место.
если сделать dic1.clone().appendTo(...) то один раз будет нормально, а второй и следующий разы копии увеличиваются...
как правильно вставить копии в разные места?
...
Рейтинг: 0 / 0
27.09.2014, 22:21
    #38759640
вадя
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Jquery копирование элемента
пример такого копирования
http://jsfiddle.net/5tf2tfdd/
...
Рейтинг: 0 / 0
28.09.2014, 08:23
    #38759723
Alexander A. Sak
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Jquery копирование элемента
Первый $(".hello").clone() выбирает и копирует один элемент.
Второй $(".hello").clone() выбирает и копирует уже два: изначальный и скопированный.

Если всегда использовать набор, полученный до первого клонирования, будет более логично:
Код: javascript
1.
2.
3.
var $toClone = $(".hello");
$toClone.clone().appendTo(".container");
$toClone.clone().appendTo(".container");
...
Рейтинг: 0 / 0
28.09.2014, 09:58
    #38759730
вадя
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Jquery копирование элемента
Alexander A. Sak, СПАСИБО!
...
Рейтинг: 0 / 0
28.09.2014, 11:27
    #38759749
skyANA
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Jquery копирование элемента
Если по идентификатору выбирать, то один элемент будет склонирован.

Код: javascript
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.
28.
29.
<!DOCTYPE HTML>
<html>
<head>    
  <script src="http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.js"></script>    
  <style>
    #div0 {
      display:none;
    }
  </style>
</head>
<body>
  <div id="div0">
    <div id="div1">Clone me!</div>
  </div>
  <script>
    function doClone() {
      var clone, original = $('#div1');
        
      clone = original.clone();
      // clone.removeAttr('id');
      clone.appendTo('body');
    }

    doClone();
    doClone();
    doClone();
  </script>
</body>
</html>
...
Рейтинг: 0 / 0
29.09.2014, 12:58
    #38760522
вадя
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Jquery копирование элемента
2Alexander A. Sak, в итоге не помогло, при повторном использовании всё равно получается удвоение.

2skyANA, вариант рабочий, но возникает вопрос: а правильный ли он?
т.к. получается n элементов с одинаковым id.
...
Рейтинг: 0 / 0
29.09.2014, 13:12
    #38760542
skyANA
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Jquery копирование элемента
вадя, раскомментируйте строку
Код: javascript
1.
// clone.removeAttr('id');
...
Рейтинг: 0 / 0
29.09.2014, 13:44
    #38760599
вадя
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Jquery копирование элемента
skyANAвадя, раскомментируйте строку
Код: javascript
1.
// clone.removeAttr('id');


это понятно. логичнее клонировть по классу....
...
Рейтинг: 0 / 0
29.09.2014, 13:50
    #38760614
skyANA
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Jquery копирование элемента
вадяskyANAвадя, раскомментируйте строку
Код: javascript
1.
// clone.removeAttr('id');


это понятно. логичнее клонировть по классу....Чем это логичнее?

Есть специальный элемент, что находится в специальном контейнере. Клонировать надо именно этот элемент, а не любой другой такого же класса.
Логично его однозначно идентифицировать.
...
Рейтинг: 0 / 0
29.09.2014, 18:13
    #38761097
alex564657498765453
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Jquery копирование элемента
Вадя прав и не прав одновременно.

давайте, уважаемый Вадя, подумаем.

что такое класс - это тип, определяющий общее для множества индивидуальностей

что такое айди - это идентификатор индивидуальности среди множества похожих(однотипных)

что такое клон() - это сделать дубликат... чего? множества похожих елементов, или всётаки индивидуальности?

поэтому логичней было бы делать так

Код: html
1.
2.
3.
4.
5.
6.
<div id='no-visible-container-for-our-super-puper-tamplates'>

<div id='picture-container-big--proto' class='picture-container-big'> ...</div>
<a id ='link-super-puper-animation--proto' class='link-super-puper-animation'>..</a>

</div>



и выбирать для клонирования имено по айдишнику, ибо мы определённое хотим склонировать.

можно без айди, делая выбор
#no-visible-container-for-our-super-puper-tamplates > .picture-container-big

но в любом случае выбор должен быть определённой индивидуальности, и определённая
подразумевает автоматически айди(в данном примере, а что если потом в другом месте тоже
появиться контейнер див с елементами для клонирования - если такой див класом определять - будет лажа...неопределёность, ведь в обоих может быть нужный тег для клонирования с небольшим различием)

Поэтому вы правы, что логично, чтобы елемент клонированый был уже с класом... тоесть
мы клонировали елемент класса, дабы получить ещо один елемент этого же класса а
не шаманить потом с аддкласс... но
зря отмахнулись от айдишника.
...
Рейтинг: 0 / 0
29.09.2014, 18:40
    #38761129
вадя
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Jquery копирование элемента
я и прав и не прав....
даже если копировать через класс - id будет (если он есть) продублирован - вариант не айс (надо id убирать/менять)
но если клонируем по классу, то jquery так устроен, что делает набор по селектору.
и, видимо, если в селекторе класс - ищет все элементы с этим классом,
если в селекторе id - останавливается на первом найденном, считая что id повторится не может.
поэтому копировать надо по id и в скопированном элементе id убирать/менять по месту для прохождения валидации и нормального функционирования.
...
Рейтинг: 0 / 0
30.09.2014, 16:36
    #38762317
Gustly
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Jquery копирование элемента
Тогда добавляйте в селектор :eq(1)
...
Рейтинг: 0 / 0
30.09.2014, 18:52
    #38762526
alex564657498765453
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Jquery копирование элемента
вадяя и прав и не прав....
даже если копировать через класс - id будет (если он есть) продублирован - вариант не айс (надо id убирать/менять)
но если клонируем по классу, то jquery так устроен, что делает набор по селектору.
и, видимо, если в селекторе класс - ищет все элементы с этим классом,
если в селекторе id - останавливается на первом найденном, считая что id повторится не может.
поэтому копировать надо по id и в скопированном элементе id убирать/менять по месту для прохождения валидации и нормального функционирования.

ох блин...я забыл это вписать в свой эпос... правильно подметил
находим индивидуальность, клонируем, и даём другой айди(убираем) дабы всётаки получить
новую индивидуальность а не клона
...
Рейтинг: 0 / 0
30.09.2014, 19:07
    #38762544
вадя
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Jquery копирование элемента
GustlyТогда добавляйте в селектор :eq(1)
дельное замечание.
...
Рейтинг: 0 / 0
30.09.2014, 19:37
    #38762579
skyANA
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Jquery копирование элемента
вадяGustlyТогда добавляйте в селектор :eq(1)
дельное замечание.Смотрите только не размещайте клон перед оригиналом на странице :)
...
Рейтинг: 0 / 0
30.09.2014, 22:32
    #38762665
вадя
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Jquery копирование элемента
авторСмотрите только не размещайте клон перед оригиналом на странице :)
и чем это грозит?
...
Рейтинг: 0 / 0
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / Jquery копирование элемента / 16 сообщений из 16, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]