私はjQueryを使い始めたばかりで、とても興奮しています。
投稿する理由は、必要なタスクを実行する jQuery をいくつか作成したためですが、エレガンスに少し欠けているのではないかと疑っています...
次のすべてのテーブル行を取得しようとしています: 1) 'item' のクラス 2) 値を持つ子テキスト入力ボックス
HTML:
<tr class="item">
<td class="sku">[dynamic]</td>
<td class="quantity">
<input type="text" name="[dynamic]" maxlength="3" /></td>
</tr>
jQuery
...
var selections=$(".item>.quantity>:text[value!='']").parent().parent();
...
上に投稿したコードは機能しますが、(少なくとも?) 少し変な匂いがすることが 2 つあります。
コードの匂い #1: 行全体を取得するために最後に '.parent().parent()' を使用しています。最後に階層を遡る代わりに、「子テキスト入力に値がある 'item' のクラスを持つすべての tr を教えてください」と言う方法はありますか?
コードのにおい #2: 空白がコンテンツとして解釈されないようにするために、選択中にテキスト入力の値を「トリミング」する方法がわかりません。現在の方法では、.each ループ中に「トリム」して再度チェックする必要があり、これは冗長に思えます。
「より良い方法」があれば教えてください。
ありがとう、リチャード