23345

[code]

    <input type="text" class="input">
    <input type="text" class="input">　　
    <input type="text" class="input">
    <input type="text" class="input">
    <input type="text" class="input">
    
[/code]

上記のようなHTMLにて、  
入力されているinputタグに処理をしたいのですが、

[code]

    $('.input').each(function() {
      if ($(this).val()) {
        $(this).hogehoge;
      }
    });
    
[/code]

↑のようにループ等使わずに、

[code]

    $('xxxxxx').hogehoge;
    
[/code]

と、1行で書く事はできないでしょうか。  
よろしくお願いします。


CC BY-SA 3.0
2016-03-22T07:14:07.763
23343
2016-03-22T08:34:49.130
2016-03-22T07:35:49.097
14688
14688
question
jquery
jQuery 同classのinputタグから入力済みのものだけへの処理をループを使わずに書く方法


input等の要素が入力済みであるか、あるいはvalueプロパティを検査できるようなセレクタはjQueryにもないと思います。処理の部分をループの外に追い出したいということであれば
[`.filter()`](https://api.jquery.com/filter/)
を使う手はありますが、判定の部分はやはり無名関数を使うことになります。

[code]

    $('button').on('click', function() {
      $('.input')
        .css('background', '') //reset
        .filter(function(){ return $(this).val() !== ''; })
        .css('background', 'gray');
    });
[/code]

[code]

    <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
    <input type="text" class="input">
    <input type="text" class="input">
    <input type="text" class="input">
    <input type="text" class="input">
    <input type="text" class="input">
    <button>Check</button>
[/code]


CC BY-SA 3.0
2016-03-22T07:54:33.953
23344
2016-03-22T07:54:33.953
8000
23343
answer


やりたい事によっては、input要素を`required="required`にしておき、:invalid擬似クラスを使う方法でもよさそうですね。  
(jQueryの独自機能では無いですし、この手の事で単純な事は大抵CSSだけで出来ますが)

[code]

    $('button').on('click', function() {
      $('input:invalid').css('background-color', 'orange');
      $('input:valid').css('background-color', 'lightgreen');
    });
[/code]

[code]

    <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
    
    <input type="text" required="required"/>
    <button>Run</button>
[/code]


CC BY-SA 3.0
2016-03-22T08:34:49.130
23345
2016-03-22T08:34:49.130
3054
23343
answer