如何在jquery中创建和访问数组

时间:2011-08-30 13:08:40

标签: jquery arrays jquery-selectors

var buttons =$('input[type="button"]');
var arr = (buttons).makeArray;
for(i=0;i <= arr.length ; i++  )
{ $('.chat_tabs').append(arr[i]).val() ;}

这不起作用,这是正确的方式,我还应该做什么,看到很多问题,但不能共同关联并使我自己正确,在第一行中已经提取了所有DOM元素,这是按钮我希望从所有这些中提取值,并运行一个循环来打印它们,或者即使想要比较或做任何其他事情......主要关注的是在运行循环时使它们成为数组并提取值。

2 个答案:

答案 0 :(得分:2)

$('input[type="button"]').each(function(){

    $("div").append($(this).val()+"<br/>");
    //alert($(this).val());

});

这里是小提琴http://jsfiddle.net/d9xQP/2/

已经.each

这是你的代码

var buttons =$('input[type="button"]');
for(i=0;i < buttons.length ; i++  )
{

    $('.chat_tabs').append(buttons.eq(i).val()+"<br/>");
}

http://jsfiddle.net/d9xQP/4/

答案 1 :(得分:1)

你的代码有些问题,但我猜你想做这样的事情?

代码

var buttons =$('input[type="button"]');
var arr = $.makeArray(buttons);

for(i=0;i <= arr.length ; i++  )
{ $('.chat_tabs').append($(arr[i]).val()) ;}

jsFiddle Demo

解释

  • 必须使用您希望在括号内的数组中调用Makearray。
  • 在你的追加之后你有你的.val(),我假设你想获得按钮的值而不是追加的值。

更好的选择

然而,通过使用类似的东西,这一切都可以更简洁地完成:

var arr = $('input[type="button"]').map(function(){return $(this).val();}).get();
$('.chat_tabs').append(arr.join(' '));

jsFiddle Demo
jQuery Api on .map()
jQuery Api on .get()