#javascript #jquery
#язык JavaScript #jquery
Вопрос:
У каждого из моих дивов есть атрибуты класса с именем remove
, у first
класса есть id: remove_item
то second
remove_item_1
, то third remove_item_2
, то и т. Д.
Моя проблема в том, что я хочу клонировать только первый с идентификатором remove_item и удалить все остальные из клона.
Если я это сделаю clone.find('.remove');
, я смогу собрать все элементы с помощью класса remove, но оттуда я как бы теряюсь в том, как это сделать.
Кто-нибудь может помочь ?
Спасибо.
Комментарии:
1. Пожалуйста, опубликуйте соответствующий код; неясно, о чем вы спрашиваете.
2. Думаю, я понимаю, но не могли бы вы предоставить код, который вы используете в данный момент?
3. Клонирование элемента с идентификатором приведет к тому, что у вас будет два элемента с одинаковым идентификатором, и это будет недопустимый html.
4. вы имеете в виду удалить первый с помощью class .remove? потому что, если вы хотите удалить div с идентификатором #remove_item, вы можете просто выбрать его и удалить вручную
5. @YESSINE нет, у меня есть форма ввода, я клонирую всю форму ввода, но в этой форме ввода у меня есть ввод, который имеет несколько вариантов ( я могу добавлять и удалять их), поэтому при клонировании всего ввода я хочу удалить ранее добавленный вариант для этого ввода и просто сохранить исходный, чтобы он имел только идентификатор remove_item
Ответ №1:
Вы можете сохранить первый div, добавив :первый.
clone.find('.remove:first');
Ответ №2:
Я думаю, я понял, что ты имеешь в виду
вот пример того, как выбрать первый элемент клонированного div:
допустим, у вас есть
lt;ul id="list"gt; lt;div id="clone"gt; lt;li class="remove remove1"gt;Remove 1 lt;/ligt; lt;li class="remove remove2"gt;Remove 2lt;/ligt; lt;li class="remove remove3"gt;Remove 3lt;/ligt; lt;/divgt; lt;/ulgt;
Сценарий для клонирования списка и удаления первого дочернего элемента клона выглядит следующим образом :
lt;scriptgt; let clone = $('#clone').clone().appendTo('#list'); clone.children().first().remove(); lt;/scriptgt;
или вы можете выбрать первый из них по выбору класса, как упоминал @Manashree Shah следующим образом:
clone.find('.remove:first');
В коде используется jQuery, вы можете добавить это перед сценарием, если вы еще не добавили его :
lt;script src="https://code.jquery.com/jquery-3.6.0.min.js"gt;lt;/scriptgt;