在ASPX页面中设置document.getElementById()。style = .cssclass

时间:2015-11-11 17:40:41

标签: javascript asp.net

代码优先:

<style type="text/css">
.label1 {
font-weight: bold;
color: #006699;
}
</style>

<script type="text/javascript">
function test(k) {
document.getElementById(k).style = label1; <--this does not work
    }
</script>

我想知道是否可以使用.CSSclass设置元素(在代码隐藏文件(Default.aspx.cs)中定义的标签)的样式?

明白我可以应用.style.color来设置颜色等,但是想先看看上面是否可行。

从代码隐藏调用函数test(k)。测试工作。

1 个答案:

答案 0 :(得分:1)

  

document.getElementById(k).style = label1; <--this does not work

没有理由,你没有名为label1的JavaScript变量,并且你不会通过分配给.style来申请课程(虽然我可以理解为什么你会想到这样做。)

您的CSS定义了一个类。要在thismodern browsers使用classList

,为该元素提供该元素
document.getElementById(k).classList.add("label1");

对于IE9及更早版本等旧版浏览器,请使用className,这是一个以空格分隔的类列表(如HTML class属性):

document.getElementById(k).className += " label1";
  

从代码隐藏调用函数test(k)。

确保k是元素的客户端 ID。 (我认为服务器控件上客户端ID的属性创造性地命名为ClientID,但ASP.Net不是我的事,如果这是错误的技术,我会道歉。)