2017-05-30 9 views
-2

だから...私はdivを4ページ持っています。これらの4つはすべてclassfoobarに属しています。私がここでやりたいのは、それぞれのJavaScriptに特定のArrayの値を与えることです。私はjQuery 3.2.1を使用しています。各要素に固有のテキストを付ける

私はJavaScript:

var $elements = jQuery.makeArray($(".foobar")); 
[1,2,3,4].forEach(function (x) { 
    $elements.forEach(function (y) { 
    y.text(x.toString()); 
    }); 
}); 

マイHTML:

<div class="foobar"></div> 
<div class="foobar"></div> 
<div class="foobar"></div> 
<div class="foobar"></div> 

そしていつものように、それは動作しません。基本的にはここで何をしたいのですか?それぞれNumberArrayとし、text()をそれぞれdivとします。

+1

CarstenLøvboAndersenAlrighty @ HTMLコード –

+0

を含めてください! –

+1

だから、最初のdivに値1、2番目の2などを入れたいのですか? –

答えて

1

このフィドルをチェックしてください。 https://jsfiddle.net/bj3s92gr/
Bassicalyでは、クラスfoobarでdivを切り取り、htmlで配列の位置を確認する必要があります。

var $elements = $(".foobar"); 
$arr = [1,2,3,4]; 
$elements.each(function(e){ 
    $(this).html($arr[e]); 
}); 
+0

それは私のために働く。 +1! –

2

インナーループ内のすべての要素に同じテキストを設定しています。この

var $elements = $(".foobar"); 
[1,2,3,4].forEach(function (x, i) { 
    $($elements[i]).text(x) 
}); 

または全て.foobar要素を通してトラバース、数値の配列を作成.text(func)

var texts = [1,2,3,4]; 
var $elements = $(".foobar").text(function(i) { 
    return texts[i]; 
}) 
1

を使用しようとすると、アレイからの値を割り当てます。

var $elements = jQuery.makeArray($(".foobar")); 
 
var numbers = [1, 2, 3, 4]; 
 
var count = 0; 
 
$(".foobar").each(function() { 
 
    $(this).text(numbers[count]); 
 
    count++; 
 
})
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
My HTML: 
 

 
<div class="foobar"></div> 
 
<div class="foobar"></div> 
 
<div class="foobar"></div> 
 
<div class="foobar"></div>

関連する問題