Ты зациклен внутри oop. Поэтому любые введенные вами значения перезаписываются до последнего l oop.
Один способ исправить, например, так:
$(function() {
var obj = {
valeur1: "text1",
valeur2: "text2",
valeur3: "text3",
valeur4: "text4"
}
var i = 0;
$.each(obj, function(key, value) {
$("div").eq(i++).html(value);
});
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div></div>
<div></div>
<div></div>
<div></div>
В этом примере выполняется итерация самого объекта. Поскольку $.each()
даст нам пару key
и value
, мы можем установить переменную index
для использования в l oop. Мы можем нацелиться на элемент <div>
, используя .eq()
.
Еще один пример:
$(function() {
var obj = {
valeur1: "text1",
valeur2: "text2",
valeur3: "text3",
valeur4: "text4"
}
$("div").each(function(i, el) {
var k = Object.keys(obj);
$(el).html(obj[k[i]]);
});
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div></div>
<div></div>
<div></div>
<div></div>
Этот, мы повторяем элементы. На этот раз мы получим пару index
и element
. Поскольку мы хотим получить указанные c соответствующие элементы из объекта, мы можем создать массив ключей и использовать каждый из них в l oop.
Ваш выбор.