jquery显示基于完全匹​​配的行

时间:2017-06-20 16:04:39

标签: javascript jquery jquery-selectors

所以我试图根据完全匹配显示几行(不想只包含因为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,即使有多个完全匹配。

1 个答案:

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