使用javascript应用样式始终不起作用

时间:2009-05-11 12:26:52

标签: asp.net javascript

我正在使用JavaScript将样式应用于div,它在第一时间显示得很好但是当我单击图像打开虚拟窗口时,应用的CSS就会消失。

如何使用永久保留的脚本来应用样式。

**我无法在设计时应用任何样式,因为我正在使用现成的用户控件,并且我只在运行时获得DIV的ID。

任何想法?

这是我正在使用的脚本......

window.onload = changeDivOverflow;
function  changeDivOverflow()
{
   var treeDiv = document.getElementById('T_ctl00contentMainctl04tvw');
   treeDiv.style.overflow = "auto";
}

2 个答案:

答案 0 :(得分:1)

由于您使用的是ASP.NET,但我看不到您的所有完整代码,我只能假设您的DIV有runat="server"标记,这就是您无法在客户端获取ID的原因。

如果是这种情况,您可以考虑进行以下更改以获取treeDiv:

var treeDiv = document.getElementById("<%= tvw.ClientID %>");

答案 1 :(得分:0)

您使用javascript和DOM调用应用的所有样式,仅适用于您正在应用它的元素。在您的示例中,它将只是ID ='T_ctl00contentMainctl04tvw'的元素

如果要将该样式重用于多个元素,则应创建一个CSS类并在那里存储该样式。然后将该类应用于您想要的每个元素。如果你想用脚本来做,那么你应该:

var treeDiv = document.getElementById('T_ctl00contentMainctl04tvw');
treeDiv.className = "your-class";