Динамически добавлять Div с помощью jQuery

#jquery #html

#jquery #HTML

Вопрос:

Я не уверен, что это было бы лучшим вариантом.. Но я хочу, чтобы при нажатии пользователем кнопки добавлялся другой div или li.

Я собираюсь разрешить пользователям загружать документы, но несколько. Я бы хотел, чтобы пользователь мог нажать кнопку, и новое <div> или <li> генерируется с помощью предопределенного кода. Возможно ли это?

Вот пример..

http://jsfiddle.net/AHvwP/1/

Комментарии:

1. Да, можно создавать новые элементы DOM с помощью JavaScript. Вы пробовали что-нибудь? Существует множество руководств по jQuery.

Ответ №1:

Попробуйте это:

 $('.button').click(function() {
    $('#myContainer').append('<div>the new guy</div>');
});
  

Ответ №2:

Ваш пример обновлен в jsFiddle

 $("input[type=submit]").click(function(){
    $("<li />").html("item").appendTo("ul");
})
  

Вы можете создавать элементы с помощью $("<tag />") и задавать атрибуты, добавлять классы и так далее. Затем добавьте туда, куда вы хотите.

Комментарии:

1. есть ли способ сделать это анимированным?

Ответ №3:

Вы можете добавить новый элемент к существующему родительскому элементу следующим образом:

выберите элемент, к которому нужно добавить новый <div>/<li> , и используйте .append()

 $("#id").append("<div>foo</div>");
  

http://api.jquery.com/append/

В качестве альтернативы, вы можете использовать .html()

http://api.jquery.com/html/

Ответ №4:

Если это позволяет загружать несколько файлов, рассматривали ли вы возможность использования чего-то вродеhttp://www.uploadify.com / плагин jQuery? Это позволяет загружать несколько файлов из одного диалогового окна, и вам не нужно беспокоиться об этом.

Ответ №5:

 $("input[type=submit]").click(function(){
    $("<li />").html("item").appendTo("ul");
})
  

Вы можете создавать элементы с помощью $("<tag />") и задавать атрибуты, добавлять классы и так далее. Затем добавьте туда, куда вы хотите.