我得到了一个数组,它有一定顺序的按钮元素。从数组中获取文本
var arr = [ $('.buttons')[0], $('.buttons')[2], $('.buttons')[1], $('.buttons')[4] ];
如何获取每个按钮的文本?以下是我的尝试。
$.each(arr, function (index, value) {
var butText = value.text();
//do something...
});
我得到了一个数组,它有一定顺序的按钮元素。从数组中获取文本
var arr = [ $('.buttons')[0], $('.buttons')[2], $('.buttons')[1], $('.buttons')[4] ];
如何获取每个按钮的文本?以下是我的尝试。
$.each(arr, function (index, value) {
var butText = value.text();
//do something...
});
您需要使用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>
如果你想找回他们每个人按照指定的顺序,你可以只考虑通过他们循环使用$(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>
如果要提取这些元素的新数组的文本而不$.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() ]