js display隐藏和显示时,样式会被改变。

display显示与隐藏时,原先的样式会被改变,导致不正常显示事先定义好的样式。

1、当表格为多列的情况下,属性为"display:block"行的内容宽度仅与第一列宽度相同,也就是说无论你使colspan的属性值为多少,剩余列的空间都不进行解析。
2、同一行反复的在"display:none;"与"display:block;"两个状态间切换时,表格的底部会持续的产生多余的空白空间以至于造成页面布局的扭曲。

//jsp页面代码

<s:iterator value="dtoInteRuleList" status="num">

<tr bgcolor="#F4F4F4" align="center" height="25"
οnmοuseοut="this.style.backgroundColor='#F4F4F4'"
οnmοuseοver="this.style.backgroundColor='#ddeeff'" style="display:none">
<td><input type="checkbox" name="attachmentList"
value="${id}_rule" />
</td>
<td>${num.index + 1}</td>
<td>${policyName}</td>
<td>1</td>

</tr>

</s:iterator>


//js代码

//多选框选择事件
function checkBox(obj){


//alert(obj.value);
 var attchmentName = document.getElementsByName("attachmentList");
 
 for(var i = 0;i<attchmentName.length;i++){
//alert(attchmentName[i].value);
 if(attchmentName[i].value==obj.value){
if(attchmentName[i].checked){
 
attchmentName[i].checked=false;
attchmentName[i].parentNode.parentNode.style.display = "none";
}else{
attchmentName[i].checked=true;
attchmentName[i].parentNode.parentNode.style.display = "";

                                                //attchmentName[i].parentNode.parentNode.style.display = "block";

 


 }


}
}


当使用这个代码/attchmentName[i].parentNode.parentNode.style.display = "block";时,tr里面的样式都没了,显示不正常。但是换成这个attchmentName[i].parentNode.parentNode.style.display = "";时,样式没有改变。


网上查找,有人建议:样式放置在class里。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值