这与内联样式无关,与显示值有关。显示样式应设置为“table-cell”,而不是“block”。
这是原始代码,唯一的变化是将显示值设置为“table-cell”:http:
//jsfiddle.net/L2zz3/
HTML:
<table width="100%" cellpadding="0" cellspacing="0" border="1">
<tr>
<td><div id="se">click here!!</div></td>
<td>value 2</td>
<td>value 3</td>
</tr>
<tr><td colspan="3" style="display:none;;">content</td></tr>
</table>
Mootools 代码:
$('se').addEvent('click',function(){
this.getParent('tr').getNext('tr').getElement('td').setStyle('display','table-cell');
});
请注意此示例如何具有内联样式并且仍然有效。
这是一个基于 CSS 的设置,将显示值设置为“块”:http:
//jsfiddle.net/z7hXc/
HTML:
<table width="100%" cellpadding="0" cellspacing="0" border="1">
<tr>
<td><div id="se">click here!!</div></td>
<td>value 2</td>
<td>value 3</td>
</tr>
<tr><td colspan="3" class="hide">content</td></tr>
</table>
Mootools 代码:
$('se').addEvent('click',function(){
this.getParent('tr').getNext('tr').getElement('td').removeClass('hide').addClass('show');
});
CSS:
.hide {
display:none;
}
.show {
display:block;
}
请注意,此示例如何与原始代码存在相同的问题,但未使用任何内联样式。因此,这显然是 'display':'block' 的问题,而不是由于内联样式。