从数组中获取文本

时间:2016-04-22 18:36:15

标签: javascript jquery

我得到了一个按特定顺序有按钮元素的数组。

var arr = [ $('.buttons')[0], $('.buttons')[2], $('.buttons')[1], $('.buttons')[4] ];

如何获取每个按钮的文字?以下是我的尝试。

$.each(arr, function (index, value) {
      var butText = value.text();
      //do something...
});

3 个答案:

答案 0 :(得分:3)

如果你想以指定的顺序检索每一个,你可以考虑循环它们,使用$(this)来引用迭代中的每个元素:

// Iterate through each element
$.each(arr, function(){
      // Get the text (this will refer to each of your elements)
      var buttonText = $(this).text();
      // Do something here
});

完成示例

var arr = [ $('.buttons')[0], $('.buttons')[2], $('.buttons')[1], $('.buttons')[4] ];
$.each(arr,function(){
    alert($(this).text());
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

<button class='buttons'>A</button>
<button class='buttons'>B</button>
<button class='buttons'>C</button>
<button class='buttons'>D</button>
<button class='buttons'>E</button>

答案 1 :(得分:1)

您需要使用jQuery对象$(this)来获取按钮文本。

&#13;
&#13;
var arr = [$('.buttons')[0], $('.buttons')[2], $('.buttons')[1], $('.buttons')[4]];

$.each(arr, function () {
    var butText = $(this).text();
    console.log(butText)
});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<button class="buttons">button 0</button>
<button class="buttons">button 1</button>
<button class="buttons">button 2</button>
<button class="buttons">button 3</button>
<button class="buttons">button 4</button>
&#13;
&#13;
&#13;

答案 2 :(得分:1)

如果要在没有$.each()循环的情况下将这些元素的文本提取到新数组,可以使用map()

var arr = [ $('.buttons')[0], $('.buttons')[2], $('.buttons')[1], $('.buttons')[4] ];
var texts = arr.map(function(a) {return a.text();});

将返回相当于

的数组
[ $('.buttons')[0].text(), $('.buttons')[2].text(), $('.buttons')[1].text(), $('.buttons')[4].text() ]