2012-03-01 51 views
0

我的页面上有一个非常大的表格(821 x 205),而且我最近一直在使用JQuery来应用CSS。当我这样做:JQuery 1.7.1 .css('td',...)最大调用堆栈大小超出

$('#main_table,th').css({ 
    'border':'solid 1px', 
    'border-collapse': 'collapse' 
}); 

没有错误,但是当我加入TD到jQuery代码,像这样:

$('#main_table,th,td').css({ 
    'border':'solid 1px', 
    'border-collapse': 'collapse' 
}); 

我得到:RangeError: Maximum call stack size exceeded

jQuery的单元太多吗?有没有更好的方法来获得我想要的所有边界?

+0

它确实听起来更像是一种“元素数量”的东西;自然你应该使用样式表而不是jQuery。 JavaScript对于这项工作完全是错误的工具。但是出于好奇,如果你修正了“border-collaps”的错误,结果是否一样? (应该是“边界崩溃”)?可能是某种错误缓冲区变得太满而不是节点集合。 – 2012-03-01 15:45:19

+0

好问题让我检查 – 2012-03-01 16:16:48

+0

@GregPettit是的,即使在排除错误之后,它仍然以相同的错误崩溃 – 2012-03-01 16:29:38

回答

4

有没有更好的方法来获得表中所有我想要的边界?

是的,把它们放在样式表中!

#main_table, th, td { 
    border: solid 1px, 
    border-collapse: collapse 
} 

FWIW,如果你的目的是放在表格单元格这种风格包含在#main_table那么你的选择是错误的,它应该是:

#main_table th, #main_table td { 
    ... 
} 

甚至只是

​#main_table tr > * { 
    ... 
} 

正如所写,它会将其应用于<th> and <td>无论他们在哪个表中。

+0

是的!这工作。感谢选择器上的位。 – 2012-03-01 15:46:50