2

最後のクラスの最後の入力を除く入力のすべての値を.trjqueryで取得したいのですが、うまくいきません。どうすれば修正できますか?

私は次のように試みます:

デモ: http://jsfiddle.net/d4xZK/

HTML:

<div class="tr">
    <input type="text" value="111">
</div>
<div class="tr">
    <input type="text" value="222">
</div>
<div class="tr">
    <input type="text" value="333">
</div>
<div class="tr">
    <input type="text" value="444">
</div>

jQuery:

$('.tr').each(function(){
    var mpiVal = $('.tr input').not(':last').val();
    alert(mpiVal)
)}
4

5 に答える 5

3

slice()最後のものをオフにすることができます:

$('.tr').slice(0, -1).each(function() {
    var mpiVal = $('input', this).val();
    console.log(mpiVal);
});

デモ

于 2013-02-05T11:29:24.390 に答える
2
$('.tr').not(':last').each(function(){
    var mpiVal = $(this).children('input').val();
    alert(mpiVal)
});

デモはこちらhttp://jsfiddle.net/d4xZK/4/

于 2013-02-05T11:32:38.427 に答える
1

または、そのために適切なセレクターを使用することもできます。

$('.tr:not(:last) input').each(function(){
    var mpiVal = $(this).val();
    alert(mpiVal);
});
于 2013-02-05T11:33:10.687 に答える
0
$(".tr:not(:last) input").map(function(){ return $(this).val() }).get()

戻り値["111", "222", "333"]

于 2013-02-05T11:34:43.510 に答える
0

最後の行に構文ミスがあります

  var arr = []
  $('.tr:not(:last)').each(function(){
     arr.push.call(arr,$(this).find('input').first().val());         
  });
  alert(arr);
于 2013-02-05T11:33:18.130 に答える