所以我试图根据完全匹配显示几行(不想只包含因为21和12都匹配'1')。
这是javascript:
$("tr:has(.logType:contains('" + curr + "'))").filter(function () {
return $(this).text == curr;
}).removeAttr("style");
和html:
<table>
<thead>
<tr>
...
<th class="logType">
Log Type
<!-- some options -->
</select>
</th>
<thead>
<tbody>
...
<tr>
<td class="logType">
<!-- some content -->
</td>
</tr>
</tbody>
目前jquery中的条件永远不会返回true,即使有多个完全匹配。
答案 0 :(得分:1)
如果您查看.text()
给您的内容,您会发现它不匹配,因为它包含所有空格:
console.log($(this).text())
给出
" Log Type "
您可以.trim()
.text()
进行比较,例如:
var curr = "abc"
var items = $("tr:has(.logType:contains('" + curr + "'))").filter(function() {
console.log($(this).text())
console.log($(this).text().length) // > 3
return $(this).text().trim() == curr;
})
alert(items.length)
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<table>
<thead>
<tr>
<th class="logType">
Log Type
<!-- some options -->
</th>
</tr>
<thead>
<tbody>
<tr>
<td class="logType">
abc
<!-- some content -->
</td>
</tr>
</tbody>
</table>