简体   繁体   English

如何在jquery中找到具有特定类名的行?

[英]How to find the row that has certain class name in jquery?

I have a table which has hundreds of items listed like below. 我有一张桌子,上面列出了数百个项目,如下所示。

<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>

....

I am trying to skip the "outofstock" row with the following each statement 我正在尝试通过以下每个语句跳过“缺货”行

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

how to tr row and skip that row? 如何tr行并跳过该行?

So select the available rows and than select the input. 因此,选择可用的行,然后选择输入。

$('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> 

and since you did not give all the details up front, you can use not() to remove the outofstock rows 并且由于您没有事先提供所有详细信息,因此可以使用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> 

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

This will console all the inputs with the class '.ordItem' that are children of rows with the class '.avaliable' 这将管理所有类为“ .ordItem”的输入,这些输入是类为“ .avaliable”的行的子级

You can use the following code to retrieve any element with whatever class is assigned to it. 您可以使用以下代码检索分配了任何类的任何元素。

$(".your-class-name") $(“你的类名”)

and save it in a variable if you need to. 并在需要时将其保存在变量中。

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

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM