Javascript 使表格单元格具有响应性,并使其均匀地呈正方形,填满窗口

Javascript 使表格单元格具有响应性,并使其均匀地呈正方形,填满窗口,javascript,jquery,html,css,Javascript,Jquery,Html,Css,我想使表格单元格具有响应性-甚至正方形填充所有可用空间(窗口)。 如果表格宽度为100%,则会占用所有可用空间,使单元格均匀分布,但仅水平分布。我用jquery编写了小型javascript,在窗口调整大小事件中调用此函数: function windowReszie(){ $("td").each(function(){ $(this).css({"height":$(this).width()}); }) } 但是这种方法很慢,因为我有很多单元格——有没有一种方法可以用css

我想使表格单元格具有响应性-甚至正方形填充所有可用空间(窗口)。 如果表格宽度为100%,则会占用所有可用空间,使单元格均匀分布,但仅水平分布。我用jquery编写了小型javascript,在窗口调整大小事件中调用此函数:

function windowReszie(){
 $("td").each(function(){
    $(this).css({"height":$(this).width()});
  })
}
但是这种方法很慢,因为我有很多单元格——有没有一种方法可以用css或者其他更好更快的方法来实现呢?

我发现您的方法存在一些问题,您正在计算每个单元格的宽度

我会做一些类似的事情

function windowReszie(){
  var size =$("td").width();
  $("td").height(size);
}

另一种方法是设置一个类并更改与该类关联的css规则,但这可能有点棘手(请参阅:)

首先尝试在
中添加类,然后循环该类。。。无需检查每个
项目。

是否尝试使用
而不是表格单元格?它可能比使用table快得多。我不需要使用javascript来调整
的宽度和高度吗?我必须有7个水平响应框和14个垂直响应框,但是
的渲染速度要比
快…
。但是,这不是很大的网格。啊,这只是一个例子,我的网格很大,有7列20行,但我会尝试一下。你的工作也很好-谢谢,但是@Py也给出了一个代码示例。如果可以的话,我会接受你的两个答案。很好,它工作得很好,出于某种原因,我认为jquery只会将这一点应用于首次发现的
td
并不是所有元素。但棘手的是,对于css属性(例如
.css
.width
.height
),用于读取第一个元素的函数只读取第一个元素,而set为每个元素设置if。