jQuery隐藏没有指定内容的TD

时间:2016-04-20 15:00:26

标签: jquery html

正在寻找一种隐藏td中不包含内联CSS属性table的{​​{1}}的方法

下面的代码示例。

width:12%;

所以,前3个<td class="" id=""> <td class="" id=""> <td class="" id=""> <td width="12%" class="" id=""><!-- don't hide me! --></td> 应该只隐藏......

4 个答案:

答案 0 :(得分:1)

使用CSS可以更轻松地完成,但是因为你要求使用jQuery解决方案,所以这样的东西应该可以工作..

$('document').ready(function(){
    $.each($('td'),function(){
      if ($(this).attr('width') !== "12%") {
          $(this).hide();
      }
    });
});

答案 1 :(得分:0)

首先你的html标记无效。

然后,改用CSS。

td:not([width])  { /* or if you want to just display 12% - td:not([width="12%"]) */
  display: none
}
<table>
  <tr>
    <td class="" id="">hide</td>
  </tr>
  <tr>
    <td class="" id="">hide</td>
  </tr>
  <tr>
    <td class="" id="">hide</td>
  </tr>
  <tr>
    <td width="12%" class="" id="">block
      <!-- don't hide me! -->
    </td>
  </tr>
</table>

答案 2 :(得分:0)

您可以使用纯CSS执行此操作,这将比jQuery更高效(并且将在内容呈现在页面上之前应用):

td:not([width]) {
  display: none;
}

或者,更具体地说:

td:not([width="12%"]) {
  display: none;
}

这会将display nonetd应用于没有width属性的任何$('td').not('[width]').hide(); 元素。

如果您不想使用纯CSS解决方案,可以使用jQuery:

$('td').not('[width="12%"]').hide();

或者,更具体地说:

fig.keep='last'

答案 3 :(得分:0)

使用jquery

     $(document).ready(function () {
        $('#tbl').find('td').each(function (index) {
            if (this.style.width == "12%") {
            }
            else {
                $(this).hide();
            }
        });
    });