1

私は次のようなテーブルを持っています:

<table>
  ...
  <td class="projectapproval">
    <img src="../../Content/Images/stock_lock.gif" alt="locked" class="lockicon invisibleforprint" />
  </td>
  <td class="projectapproval">
  </td>
  <td class="projectapproval">
  </td>
  ...
</table>

私が持っているのは:

$('table td.projectapproval img.lockicon').length

これは、ロックアイコンが付いたテーブル内のセルの数をカウントします。

私が欲しいのは、ロックアイコンのないテーブルのセルの数を数えることです。この場合は2つ。

誰かがこれを行うための良い方法を知っていますか?

もちろん行くことができます:

$('table td.projectapproval).length - $('table td.projectapproval img.lockicon').length

しかし、私は本当にもっとクリーンな方法を望んでいます。存在しますか?

4

2 に答える 2

2

これを試して

$('table td.projectapproval:not(:has(img.lockicon))')
于 2012-05-17T22:53:58.143 に答える
0

別のアプローチは、フィルター関数を使用することです。

$('table td.projectapproval').filter(function() {
    return !$(this).children('img.lockicon').length;
    // use the find function if you're not looking for immediate children:
    return !$(this).find('img.lockicon').length;
})
于 2012-05-17T23:16:36.993 に答える