带有隐藏td的订单表

时间:2009-11-04 13:05:29

标签: javascript jquery html

Hola,les tengo una consulta ... tengo una tabla la cual cada tiene una tabla adentro con una clase llamada“cnt”y otra que Corresponde a una letra。 Conésto,lo que hago es utilizando una funcion javascript y teniendo una lista de letras con labels que en el onclick van a esa funcion,ocultan o muestran dependiendo de la letra,la tabla correspondenceiente。 La funcion es la siguiente:

function order(letter) {
  if (letter == "all") {
    $(".cnt").show();
  }
  else {
    $(".cnt").each(function(i, element) {
      if ($(this).hasClass(letter)) {
        $(this).show();
      }
      else
        $(this).hide();
    });
  }
}

El problema esqueéstonome posisiona los datos visibles de tal manera que queden bien alineados enunacuadrículaunoal lado del otro,es decir,quedan espacios entre ellos。 没有我的explico,pero espero me puedan entender y me puedan daralgunnsolución,muuchas gracias!

编辑:Google说:

我有一个表,每个表都有一个表,里面有一个名为cnt的类,另一个表对应一个字母。有了这个,我所做的就是使用一个javascript函数,并根据字母,相应的表格,在点击,隐藏或显示时使用带有标签的字母串。功能是:

function order(letter) {
  if (letter == "all") {
    $(".cnt").show();
  }
  else {
    $(".cnt").each(function(i, element) {
      if ($(this).hasClass(letter)) {
        $(this).show();
      }
      else
        $(this).hide();
    });
  }
}

问题在于,这不是我反转可见数据,以便它们将保持在彼此相邻的网格中对齐,即它们之间的空格。 如果我可以解释,但我希望我能理解并能给我一些解决方案,非常感谢!

1 个答案:

答案 0 :(得分:0)

jQuery的showhide函数会改变元素的display属性。 hidedisplay属性设置为none

来自W3C网站:

  

请注意显示'无'   不会创建一个隐形的盒子;它   根本不创造任何盒子。 CSS包括   启用元素的机制   生成格式化框   影响格式化的结构   自己不可见。请   请参阅有关可见性的部分   的信息。

这意味着表格单元格被有效地拉出表格。

您应该使用的是visibility属性:

function order(letter) {
  if (letter == "all") {
    $(".cnt").css('visibility', 'visible');
  }
  else {
    $(".cnt").each(function(i, element) {
      if ($(this).hasClass(letter)) {
        $(this).css('visibility', 'visible');
      }
      else
        $(this).css('visibility', 'hidden');
    });
  }
}

请参阅: CSS Properties了解有关这些属性的更多信息