2016-04-22 2 views
0

У меня есть массив с элементами кнопки в определенном порядке.Получить текст из массива

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

Как получить текст каждой кнопки? Ниже я попытался.

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

ответ

1

Вы должны использовать JQuery объект $(this), чтобы получить текст кнопки.

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

 
$.each(arr, function() { 
 
    var butText = $(this).text(); 
 
    console.log(butText) 
 
});
<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>

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

Если вы хотите, чтобы извлечь текст из этих элементов в новый массив без $.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() ] 
Смежные вопросы