Как я могу работать с элементом DOM, клонированным с помощью jQuery? - PullRequest
0 голосов
/ 13 ноября 2009

У меня есть форма, которую я пытаюсь продублировать с помощью jQuery. Я использую метод clone(), который возвращает клонированный объект (элемент DOM). Затем мне нужно выбрать элементы клонированной формы и манипулировать ими. Это возможно? Если да, то как?
Я пробовал такие вещи, как:

var clonedForm = $("#myForm").clone();
clonedForm.$(".inputField").val();

Но (что неудивительно) вторая строка не работает. Любая помощь будет оценена, спасибо.

Ответы [ 4 ]

3 голосов
/ 13 ноября 2009

Я думаю

$(clonedForm).find('.inputField').val()
1 голос
/ 13 ноября 2009

Если вы хотите изменить идентификатор элемента, который вы клонируете, попробуйте это

var clonedForm = $("#myForm").clone();

clonedForm.attr( { id: 'new-id' } );
0 голосов
/ 20 мая 2012

Кто-то может найти это более элегантным

$(".inputField", clonedForm).val();

второй параметр указывает контекст селектора css.

0 голосов
/ 13 ноября 2009

Ну, во-первых, то, что вы получаете от метода клонирования, это кусок DOM, который нужно прикрепить где-нибудь, чтобы он был видимым (это не очевидно из вашего кода, если это так). Второе - если вы используете одинаковые идентификаторы для ваших элементов, вам не повезло, так как findElementBYID вернет вам первый найденный элемент. Вам, вероятно, нужно пройти через ваш объект-клон и изменить значения идентификатора. И тогда ваш синтаксис также неверен во второй строке, как было указано

...