我刚刚开始使用 jQuery,对此我感到非常兴奋。
我发帖的原因是我写了一些 jQuery 来完成它的必要任务,但我怀疑它缺乏一点优雅......
我正在尝试获取所有具有以下内容的表行:1)“项目”类 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();
...
我在上面发布的代码有效,但有两件事(至少?)闻起来有点滑稽。
代码气味 #1:我在末尾使用 '.parent().parent()' 来抓取整行。有没有什么方法可以让我说,“给我所有的 tr 和一个‘item’类,其中子文本输入有一个值”,而不是在最后回溯层次结构?
代码异味 #2:我想不出在选择过程中“修剪”文本输入值的方法,以确保不会将空格解释为内容。使用我目前的方法,我将不得不在 .each 循环期间“修剪”并再次检查,这似乎是多余的。
如果您看到“更好的方法”,请告诉我?
谢谢,理查德