#javascript #html #jquery #css
#javascript #HTML #jquery #css
Вопрос:
Для этого блока кода
$(document).ready(() => {
for (let i = 0; i < 10; i ) {
$("#main").append(factory());
}
});
это покажет изображение:
function factory() {
return $('<image class="champ-icon rounded-circle" src="resources/irelia.jpg" />');
}
пока это не
function factory() {
let $champIcon = $(document.createElement("image"))
.addClass("champ-icon rounded-circle")
.attr("src", "resources/irelia.jpg");
return $champIcon;
}
Я также использую Bootstrap 4.
Страница в настоящее время является просто статическим макетом. Я хочу динамически создавать элементы из данных, предоставленных ему локальным сервером.
Я буквально только что возился с HTML / CSS и jQuery на выходных, поэтому я не уверен, что здесь пошло не так. Разве обе функции не должны возвращать один и тот же объект jQuery?
Спасибо!
Класс CSS
.champ-icon {
width: 100px;
height: 100px;
}
Редактировать: создание его с помощью обычного javascript также работает.
function factory() {
let img = new Image();
img.src = "resources/irelia.jpg";
img.className = "champ-icon rounded-circle";
return img;
Комментарии:
1. Правильный HTML-тег
img
неimage
. Попробуйтеdocument.createElement("img")
2. замените .$(document.createElement(«изображение»)) на $(document.createElement(«img»))
Ответ №1:
Это потому, что вы пытаетесь программно создать <image>
элемент в html, который … не существует. Чтобы вставить элемент на страницу, вы должны использовать <img src="">
, а не <image...>
. Измените эту строку
let $champIcon = $(document.createElement("image"))
Для
let $champIcon = $(document.createElement("img"))
И это должно сработать.
Комментарии:
1. или
let $champIcon = $('<img>')
2. ДА. я только что понял, что есть img и image. XD. спасибо
3. Если мне удалось помочь, не могли бы вы любезно отметить мой ответ как принятый? Большое спасибо и хорошего дня (или ночи ;))