Я хочу, чтобы страница html отображалась как:
<div class='container'>
<div class='domain-list0'>Hello</div>
<div class='domain-list1'>World</div>
</div>
Вот мой html и js: Pen из Codepen.io
Вместо того, чтобы создавать первый "список доменов", а затем создавать другой для следующего, он просто перезаписывает предыдущий "список доменов". Вот почему оно показывает последнее значение строки. Кто-нибудь знает, как это исправить?
Благодарю!
Вы используете .html(), который удаляет существующий контент и заменяет его новым контентом. Вам нужно использовать append, чтобы новый контент был добавлен после последнего дочернего элемента.
var myStringArray = ["Hello", "World"];
var arrayLength = myStringArray.length;
for (var i = 0; i < arrayLength; i++) {
var $el = $("<div />", {
'class': 'domain-list' + i,
html: "<p>" + myStringArray[i] + "</p>"
}).appendTo("div.container");
// $el refer to the newl added element
}
Демо: скрипка
Попробуйте использовать appendTo в jquery
var myStringArray = ["Hello","World"];
var arrayLength = myStringArray.length;
for (var i = 0; i < arrayLength; i++) {
$("<div class='domain-list"+i+"'></div>").html("<p>"+myStringArray[i]+"</p>").appendTo("div.container");
//Do something
}
for (var i = 0; i < arrayLength; i++) {
$("div.container").html("<div class='domain-list'></div>");
$(".domain-list:nth-child("+i+")").html("<p>"+myStringArray[i]+"</p>");
//Do something
}