我想在每一行上搜索三个属性。
我可以通过一个属性进行搜索,如下所示:
var rows = $("#tbl1 > tbody > tr[cName=1]");
但这会导致错误:
var rows = $("#tbl1 > tbody > tr[cName=1,cLastN=2]");
如何根据这三个属性进行搜索?
$("#btn1").click(function(){
debugger;
var rows = $("#tbl1 > tbody > tr[cName=1]");
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<table id='tbl1' >
<thead>
<tr>
<th>Number</th>
<th>Name</th>
<th>Last name</th>
</tr>
</thead>
<tbody>
<tr cName='1' cLastN='2' cMiddleN='3'>
<td>1</td>
<td>John</td>
<td>Smith</td>
</tr>
<tr cName='2' cLastN='2' cMiddleN='4'>
<td>1</td>
<td>John</td>
<td>Smith</td>
</tr>
<tr cName='5' cLastN='7' cMiddleN='3'>
<td>1</td>
<td>John</td>
<td>Smith</td>
</tr>
</tbody>
</table>
<br/>
<br/>
<button id="btn1">Search</button>
发布于 2017-04-05 14:34:25
.You需要分别包含属性选择器,这取决于您的需求。如果要选择任何具有任一属性的元素(即。或逻辑)使用以下方法:
var rows = $('#tbl1 > tbody > tr[cName="1"], #tbl1 > tbody > tr[cLastN="2"]');
然而,如果您想要两个属性的元素(即。和),使用这个:
var rows = $('#tbl1 > tbody > tr[cName="1"][cLastN="2"]');
还要注意,您使用的是完全非标准的属性,这可能会导致JS出现问题。我建议将它们改为data-*
属性。
发布于 2017-04-05 14:34:22
您可以使用逗号(,)来执行或选择
$("#btn1").click(function(){
debugger;
var rows = $("#tbl1 > tbody > tr[cName=1] , #tbl1 > tbody > tr[cName=2], #tbl1 > tbody > tr[cName=3]");
console.log(rows)
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<table id='tbl1' >
<thead>
<tr>
<th>Number</th>
<th>Name</th>
<th>Last name</th>
</tr>
</thead>
<tbody>
<tr cName='1' cLastN='2' cMiddleN='3'>
<td>1</td>
<td>John</td>
<td>Smith</td>
</tr>
<tr cName='2' cLastN='2' cMiddleN='4'>
<td>1</td>
<td>John</td>
<td>Smith</td>
</tr>
<tr cName='5' cLastN='7' cMiddleN='3'>
<td>1</td>
<td>John</td>
<td>Smith</td>
</tr>
</tbody>
</table>
<br/>
<br/>
<button id="btn1">Search</button>
https://stackoverflow.com/questions/43234119
复制相似问题