我得到了一个按特定顺序有按钮元素的数组。
var arr = [ $('.buttons')[0], $('.buttons')[2], $('.buttons')[1], $('.buttons')[4] ];
如何获取每个按钮的文字?以下是我的尝试。
$.each(arr, function (index, value) {
var butText = value.text();
//do something...
});
答案 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)
来获取按钮文本。
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;
答案 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() ]