如何在jquery中找到具有某个类名的行?

时间:2018-05-02 21:23:39

标签: javascript jquery html

我有一张桌子,上面列出了数百种物品。

<tr class="available" id="trline01"><td>1</td>
<td><input type="text" class="ordItem" id="oline01" value="100"           
readonly="readonly" /></td><</tr>
<tr class="available" id="trline02"><td>2</td>
<td><input type="text" class="ordItem" id="oline02" value="20"    
readonly="readonly" /></td><</tr>
<tr class="outofstock" id="trline03"><td>3</td>
<td><input type="text" class="ordItem" id="oline03" value="0"  
readonly="readonly" /></td><</tr>
<tr class="available" id="trline04"><td>4</td>
<td><input type="text" class="ordItem" id="oline04" value="20"  
readonly="readonly" /></td><</tr>
<tr class="discount" id="trline05"><td>5</td>
<td><input type="text" class="ordItem" id="oline05" value="10"  
readonly="readonly" /></td><</tr>

....

我试图通过以下每个声明跳过“outofstock”行

$.each($('.ordItem'), function() {
    if ( !$(this).hasClass(outofstock)) {
        data[$(this).data('code')] = $(this).val();
    }
});

如何tr行并跳过该行?

3 个答案:

答案 0 :(得分:2)

因此,选择可用的行,然后选择输入。

$('tr.available .ordItem').each()

$('tr.available .ordItem').each( function(){
   console.log(this.id)
})
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<table>
<tr class="available" id="trline01"><td>1</td>
<td><input type="text" class="ordItem" id="oline01" value="100"           
readonly="readonly" /></td></tr>
<tr class="available" id="trline02"><td>2</td>
<td><input type="text" class="ordItem" id="oline02" value="20"    
readonly="readonly" /></td></tr>
<tr class="outofstock" id="trline03"><td>3</td>
<td><input type="text" class="ordItem" id="oline03" value="0"  
readonly="readonly" /></td></tr>
<tr class="available" id="trline04"><td>4</td>
<td><input type="text" class="ordItem" id="oline04" value="20"  
readonly="readonly" /></td></tr>
</table>

由于您未预先提供所有详细信息,因此您可以使用not()来删除过剩行

$('tr:not(.outofstock) .ordItem').each( function(){
   console.log(this.id)
})
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<table>
<tr class="available" id="trline01"><td>1</td>
<td><input type="text" class="ordItem" id="oline01" value="100"           
readonly="readonly" /></td></tr>
<tr class="available" id="trline02"><td>2</td>
<td><input type="text" class="ordItem" id="oline02" value="20"    
readonly="readonly" /></td></tr>
<tr class="outofstock" id="trline03"><td>3</td>
<td><input type="text" class="ordItem" id="oline03" value="0"  
readonly="readonly" /></td></tr>
<tr class="available" id="trline04"><td>4</td>
<td><input type="text" class="ordItem" id="oline04" value="20"  
readonly="readonly" /></td></tr>
</table>

答案 1 :(得分:2)

$.each($('.available .ordItem'), function(index, item) {
    console.log(item);
})

这将使用类&#39; .ordItem&#39;来控制所有输入。这是具有班级&#39; .avaliable&#39;

的行的子项

答案 2 :(得分:0)

您可以使用以下代码检索分配给它的任何类的任何元素。

$( “你的类名”)

并在需要时将其保存在变量中。

让someElement = $(“。your-class-name”)