如何在 jquery 中获取一个 class 的所有值?

how get all values of one class in jquery?

我正在尝试获取 class 输入字段的所有值。但它是 return 只有一个字段值

Html代码

<div id="mydiv">
<input class="seconds" type="text" value="40">
<input class="seconds" type="text" value="20">
<span class="countdown"></span>
</div>

Javascript代码

<script src="{{ asset('js/vendor/jquery-3.1.0.min.js') }}"></script>
<script src="{{ asset('js/jquery.missofis-countdown.js') }}"></script>


<script>

var ek=$('.seconds').val();

console.log(ek);
$( '.countdown' ).countdown( {
  from: ek, // 3 minutes (3*60)
  to: 0, // stop at zero
  movingUnit: 1000, // 1000 for 1 second increment/decrements
  timerEnd: undefined,
  outputPattern: '$day Day $hour : $minute : $second',
  autostart: true,
});
</script>

我想获得具有相同 class

的两个输入字段的值

属性方法只会获取第一个元素的值。

要获得多个,您必须迭代(循环)选择器返回的每个元素。

var ek=[];
$('.seconds').each(function() { ek.push($(this).val()); });
console.log(ek);

定时器:

确保在 html.

中添加尽可能多的倒计时跨度
$( '.countdown' ).each(function(index) { 
$(this).countdown( { from: ek[index], // 
3 minutes (3*60) 
to: 0, // stop at zero
 movingUnit: 1000, // 1000 for 1 second increment/decrements
 timerEnd: undefined, 
outputPattern: '$day Day $hour : $minute : $second',
 autostart: true, });
    });

注意:抱歉格式化。我在手机上。

使用map()创建值数组

var ek = $('.seconds').map((_,el) => el.value).get()

console.log(ek)
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div id="mydiv">
<input class="seconds" type="text" value="40">
<input class="seconds" type="text" value="20">
<span class="countdown"></span>
</div>

更简单的方法是:

$('.loadedDate').map(function(){return this.value;}).get()