我正在处理一个相当复杂的问题,并试图将我的问题简化为一个简短的代码示例。
当我<tr>
使用 jQuery 在表格中创建一个新表格并将 colspan 设置为总列数时,表格单元格的宽度(未在代码中设置)会发生变化。这发生在 IE9 中,但不在 Chrome 中。我知道我可以在代码中明确给出单元格大小,但在我使用的解决方案中我不能真正做到这一点。
这是代码:
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.8.1/jquery.min.js" type="text/javascript" ></script>
<script type="text/javascript">
var expanded = false;
var $detailsRow;
$(document).ready(function(){
//toggle the details row
$(".selectable-row").click(function(){
if(expanded){
$detailsRow.remove();
expanded = false;
}else{
$detailsRow = $("<tr class=\"child-row\"><td colspan=\"4\">");
$detailsRow.find("td").text("Hellohellohellohellohellohello Hellohellohellohellohellohello Hellohellohellohellohellohello Hellohellohellohellohellohello Hellohellohellohellohellohello Hellohellohellohellohellohello Hellohellohellohellohellohello Hellohellohellohellohellohello Hellohellohellohellohellohello");
$detailsRow.insertAfter($(this));
expanded = true;
}
});
});
</script>
<div style="width:1000px">
<table border="1" style="width:100%">
<tr class="selectable-row">
<td>2012-09-03 11:33</td>
<td>This is the 2nd column</td>
<td>The 3rd column</td>
<td>The last one</td>
</tr>
</table>
</div>
请注意,这是一个细微的差别,第二个是展开的,并且日期单元格略小一些。
有人可以解释为什么会发生这种情况,以及是否有解决办法?也许以某种方式用 div 包裹单元格的内部。我已经尽力了。