Как создать новый тег img с помощью JQuery, используя src и id из объекта JavaScript? - PullRequest
85 голосов
/ 04 ноября 2011

Я понимаю JQuery в базовом смысле, но я определенно новичок в этом, и подозреваю, что это очень просто.

Я получил src и id моего изображения в ответе JSON (преобразованный в объект), и, следовательно, правильные значения в responseObject.imgurl и responseObject.imgid, и теперь я хотел бы создать изображение с ним и добавьте его в div (давайте назовем его <div id="imagediv">. Я немного застрял на динамическом построении <img src="dynamic" id="dynamic"> - большинство примеров, которые я видел, касаются замены src на существующем образе, но у меня нет существующее изображение.

Ответы [ 4 ]

132 голосов
/ 04 ноября 2011

В jQuery новый элемент может быть создан путем передачи строки HTML в конструктор, как показано ниже:

var img = $('<img id="dynamic">'); //Equivalent: $(document.createElement('img'))
img.attr('src', responseObject.imgurl);
img.appendTo('#imagediv');
81 голосов
/ 04 ноября 2011
var img = $('<img />', { 
  id: 'Myid',
  src: 'MySrc.gif',
  alt: 'MyAlt'
});
img.appendTo($('#YourDiv'));
16 голосов
/ 08 июня 2013

Вы экономите несколько байтов, вообще избегая .attr, передавая свойства конструктору jQuery :

var img = $('<img />',
             { id: 'Myid',
               src: 'MySrc.gif', 
               width: 300
             })
              .appendTo($('#YourDiv'));
2 голосов
/ 06 мая 2014

Для тех, кому нужна та же функция в IE 8, я решил проблему следующим образом:

  var myImage = $('<img/>');

               myImage.attr('width', 300);
               myImage.attr('height', 300);
               myImage.attr('class', "groupMediaPhoto");
               myImage.attr('src', photoUrl);

Я не мог заставить IE8 использовать объект в конструкторе.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...