2017-07-03 19 views
0

附件是我的代碼,我想一個div的背景圖片由JS選擇: 變化backgrooun圖像usingdocument.getElementByClassName

<html lang = "en"> 
<head> 
    <title>to-forum.html</title> 
    <meta charset="utf-8" /> 
    <style> 
    .logo 
    { 
    width:1200px; 
    height:300px; 
    margin:auto; 
    display: block; 
    background-repeat:no-repeat; 
    position:relative; 
    border-radius: 25px; 
    } 
    </style> 
    <script> 
     function ChangeImage(param) 
     { 
     switch(param) 
     { 
      case '1': 
      return("images/greensilver.gif"); 
      break; 
      case'2':    
      return("images/greensilver1.gif"); 
      break; 
     } 
     } 
    </script> 
</head> 

<body> 
    <div id="logo"> 
    <script> 
     document.getElementByClassName("logo").style.backgroundImage = "url('" + ChangeImage('1') + "')"; 
    </script> 
    </div> 
</body> 
</html> 

圖像顯示不出來!任何人都可以告訴我如何更正代碼? 感謝

+0

我們不是代碼編寫服務。請參考[如何提出一個好問題?](https://stackoverflow.com/help/how-to-ask)。你有沒有試過做任何研究?你有什麼嘗試?這裏的問題應該有一個明確的問題/問題,顯示的研究和[最小,完整和可驗證](https://stackoverflow.com/help/mcve)示例。 – GrumpyCrouton

回答

0

語法錯誤

  1. 類名是多一個getElements。其有複數形式
  2. 並註明[0]。然後只將其定位第一類名

變化這樣

document.getElementsByClassName("logo")[0].style.backgroundImage = "url('" + ChangeImage('1') + "')"; 

而不是

document.getElementByClassName("logo").style.backgroundImage = "url('" + ChangeImage('1') + "')"; 
2

您已經使用id logo但您嘗試使用類名來訪問logo div。這是錯誤的。使用document.getElementById(「logo」)。

document.getElementById("logo").style.backgroundImage = "url('" + ChangeImage('1') + "')";