我有一个表,从记录集动态加载行。我也使用过Javascript,这样当选中一个复选框(不在表格中)时,它会隐藏列x = y时的所有行,但是我有一个垂直边框(实际上只是一个位于右侧的背景图像),它在使用CSS .sortable .dynamicrow:last-child td{
因此,当我选中该框并删除最后一行时,边框不会正常淡化,我需要重新运行/刷新CSS。
总而言之,我想知道如何在javascript中刷新元素的样式/ CSS。
.sortable .dynamicrow:last-child td{
background-image:url(../Images/tablevborderbottom.png);
background-position:right;
background-repeat:no-repeat;
}
我使用的CSS是否在最后一行上有垂直边框淡化有时最后一行被删除,所以第二行变成最后一行,但它保持它的实线边框并且不会淡出。 / p>
另一种表达方式是,在页面加载后,由于Javascript,有时最后一个子项被删除,因此上面的子项成为最后一个子项,如何将上述CSS应用于新的子项?
答案 0 :(得分:0)
我要做的是在现有样式中添加一个类声明,并在隐藏最后一行时将CSS类应用到现在的最后一行。
.sortable .dynamicrow:last-child td, .dummy_last_row{ background-image:url(../Images/tablevborderbottom.png); background-position:right; background-repeat:no-repeat; }
然后是JavaScript。这是基于一个简单的表,有5行,1 td,带有onclick =“Lst_row(this)”的按钮
function Lst_row(row){ row = row.parentNode.parentNode; tbl = document.getElementById("sorttable"); rows = tbl.getElementsByTagName("TR"); if(row == rows[tbl.getElementsByTagName("TR").length-1] || row.className.indexOf("dummy_last_row") != -1){ for (i=0; i<rows.length; i++){ if(i != 0 && row == rows[i] && rows[i-1])){ rows[i-1].className += " dummy_last_row"; } } } }
这当然很简单,但基础就在那里。