如何通过类名获取元素值并将它们存储在jQuery中的数组中?

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

标签: javascript jquery html

我正在尝试从<form>标记之外的文本框中获取值。 这三个文本框具有相同的类名。我想获得他们的价值并在以后使用它们。

我在下面jQuery的警报部分收到错误。

HTML

 <input type="text" class="className">
 <input type="text" class="className">
 <input type="text" class="className">

的jQuery

 var $j_object = $(".className");
 $j_object.each( function(i){
     alert($j_object[i].val())                      
 });

2 个答案:

答案 0 :(得分:2)

尝试在此背景下使用.eq(index)

var $j_object = $(".className");
$j_object.each( function(i){
  alert($j_object.eq(i).val());                     
});

或者您可以使用this内的.each()值来简化任务,

var $j_object = $(".className");
$j_object.each( function(){
  alert($(this).val());                     
});

如果使用括号表示法来访问jquery元素集合,那么将返回普通的javascript对象。而且它的原型中没有jquery函数。

答案 1 :(得分:1)

您可以使用jQuery中的.map()函数将文本框值保存到数组中。

工作示例

var array = $('.className').map(function(){
  return $(this).val()
}).get();
alert(array)
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type="text" class="className" value="1">
 <input type="text" class="className" value="2">
 <input type="text" class="className" value="3">