2016-09-17 65 views
-2

这里改变一个div形象是我的代码:无法通过JavaScript

<!DOCTYPE html> 
<html> 

<body> 
    <script> 
    function light() { 
     if (document.getElementById("push").value == "OFF") { 
     document.getElementById("bulb").style.backgroundImage = url("1.png"); 
     document.getElementByID("push").value = "ON"; 
     } 
     else { 
     document.getElementById("bulb").style.backgroundImage = url("2.png"); 
     document.getElementByID("push").value = "OFF"; 
     } 
    } 
    </script> 
    <center> 
    <input type="button" id="push" onclick="light()" value="OFF" /> 
    <div id="bulb" style="background-image:url(2.png);width:320px;height:420px"> 
    </div>enter code here 
    </center> 
</body> 
</html> 
+0

当您提出问题时,文本区域右侧有一个大的橙色**如何格式化**框,其中包含有用的信息。还有一个格式化辅助工具的整个工具栏。和一个** [?] **按钮提供格式帮助。 *和*位于文本区域和“发布您的问题”按钮之间的预览区域(以便您必须滚动查看按钮才能找到该按钮,以鼓励您查看该按钮),以显示帖子在发布时的样子。明确你的帖子,并证明你花时间这样做,提高你获得良好答案的机会。 –

+1

javascript!= java。 –

+0

我已经修复了格式并删除了不相关的标签,但由于这是您的第三个问题,我希望您现在至少能格式化至少。 –

回答

3

这条线:

document.getElementById("bulb").style.backgroundImage = url("1.png"); 

试图调用一个名为url函数和一个字符串传递给它,然后将结果分配给backgroundImage属性。

相反,你要分配backgroundImage直接:

document.getElementById("bulb").style.backgroundImage = "url(1.png)"; 
// Note ------------------------------------------------^----^----^^ 

例子:

document.getElementById("bulb").style.backgroundImage = "url(https://lh3.googleusercontent.com/-qJYMzFfIels/AAAAAAAAAAI/AAAAAAAAAGM/16Ir8NxI3gE/photo.jpg?sz=32)";
<div id="bulb" style="width: 32px; height: 32px"></div>


这就是说,它WOU LD更好地定义你的造型和这样的CSS,然后将这些样式使用选择元素,通过一类关联关联例如:

CSS:

.class-saying-what-the-image-represents { 
    background-image: url(1.png); 
} 

的JavaScript:

document.getElementById("bulb").classList.add("class-saying-what-the-image-represents"); 

例如:

document.getElementById("bulb").classList.add("class-saying-what-the-image-represents");
.class-saying-what-the-image-represents { 
 
    background-image: url(https://lh3.googleusercontent.com/-qJYMzFfIels/AAAAAAAAAAI/AAAAAAAAAGM/16Ir8NxI3gE/photo.jpg?sz=32); 
 
}
<div id="bulb" style="width: 32px; height: 32px"></div>

+0

div可能有id和class吗? –

+0

@SujeetAgrahari:当然(例如,我的第二个例子中的'div'确实运行了代码)。它也可以有多个类。 –

+0

谢谢@ T.J。 Crowder! –