使用jquery.east for for循环映射到元素文本



对于给定的HTML:

<div id="parent">
    <div class="child">x</div>
    <div class="child">y</div>
    <div class="child">z</div>
</div>

如何从数组中映射孩子的文本?

这是我的尝试:

var myArray = ['a', 'b', 'c'];
for (var i = -1; i < myArray.length; i++) {
    $('#parent .child').each(function () {
        $(this).text(myArray[i]);
    });
}

我得到: c,c,c

如何获得a,b,c

您不需要外部for循环:

var myArray = ['a', 'b', 'c'];
$('#parent .child').each(function (index) {
    $(this).text(myArray[index]);
});

无需在此处使用for循环。

var myArray = ['a', 'b', 'c'];
$('#parent').find('div').each(function(){
  $(this).html(myArray[$(this).index()]);
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="parent">
    <div class="child">x</div>
    <div class="child">y</div>
    <div class="child">z</div>
</div>

使用.text(function)

var myArray = ['a', 'b', 'c'];
$("#parent > .child").text(function(index) {
  return myArray[index]
})
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js">
</script>
<div id="parent">
  <div class="child">x</div>
  <div class="child">y</div>
  <div class="child">z</div>
</div>

最新更新