代码之家  ›  专栏  ›  技术社区  ›  Dennis

带有javascript和css的dhtml不工作

  •  0
  • Dennis  · 技术社区  · 16 年前

    因此,出于某种原因,这个不引人注目的JavaScript代码不能工作,我无法理解为什么它不能工作。

    我动态地更改了DIV元素的类名,因此我希望CSS能够反映这种更改。但事实并非如此。这里是简化的代码。

    HTML:

    <head>
        <title>Your Page</title>
        <link rel="stylesheet" type="text/css" href="style.css" />
        <script type="text/javascript" src="us.js"></script>
    </head>
    
    <body>
      <div id="wrapper">    
        <h1 id="title">Your Page</h1>   
      </div>
    </body>
    

    javascript:

    window.onload = function() {
      document.getElementById("wrapper").className = "2";
    }
    

    CSS:

    #wrapper{
        background-color: white;
    }
    
    #wrapper.1 {
        background-color: black;
    }
    
    #wrapper.2 {
        background-color: red;
    }
    
    #wrapper.3 {
        background-color: blue;
    }
    

    我查看了firebug中的wrapper div,它显示类被更改为“2”。但是,通过将背景色更改为红色,网页并不能反映出这一点。(它也不适用于更改文本颜色。我试过了。我知道CSS加载正确。那么问题是什么呢?

    3 回复  |  直到 16 年前
        1
  •  1
  •   user229044    16 年前

    2 是无效的类名。类名不能是数字;它必须是以字母开头的字母数字字符串。

        2
  •  4
  •   Nick Craver    16 年前

    您的CSS类名需要以字母开头,如下所示:

    #wrapper.num1 {
        background-color: black;
    }
    
    #wrapper.num2 {
        background-color: red;
    }
    
    #wrapper.num3 {
        background-color: blue;
    }
    
        3
  •  1
  •   Community Mohan Dere    9 年前

    您是否尝试使用其他类名?检查 Which characters are valid in CSS class names/selectors? . CSS类名不能以数字开头。