学习js使用className遇到的疑惑
我在学习js时,想利用通过getElementById()获取得的ID来指明属性className等于一个css样式,我是想实现这样一个效果,当单击添加css样式按钮时,这个样式添加,当单击移出css样式时,这个样式就移出。我的问题是,我写的这个效果,第一次操作可以实现,但是多次点击时就失效了。是什么原因呢?
我的代码如下:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
<title>Document</title>
<style type="text/css">
.b_img{
background-image: url(bwa.jpg);
background-repeat: no-repeat;
}
#db{
display: none;
}
</style>
</head>
<body id="con">
<input id="ab" value="添加背景" type="button" onclick="addBackround_img()"/>
<input id="db" value="移除背景" type="button" onclick="delectBackround_img()">
<script type="text/javascript">
function addBackround_img(){
//背景消失
var b_img=document.getElementById("con");
b_img.className="b_img";
//b_img.style.backgroundImage="url(bwa.jpg)";
//b_img.style.backgroundRepeat="no-repeat";
//移出背景的按钮出现
var db_button=document.getElementById("db");
db_button.style.display="block";
//显现背景的按钮消失
var ab_button=document.getElementById("ab");
ab_button.style.display="none";
}
function delectBackround_img(){
var d_img=document.getElementById("con");
d_img.style.backgroundImage="url()";
var ab_button=document.getElementById("ab");
ab_button.style.display="block";
var db_button=document.getElementById("db");
db_button.style.display="none";
}
</script>
</body>
</html>
我的代码如下:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
<title>Document</title>
<style type="text/css">
.b_img{
background-image: url(bwa.jpg);
background-repeat: no-repeat;
}
#db{
display: none;
}
</style>
</head>
<body id="con">
<input id="ab" value="添加背景" type="button" onclick="addBackround_img()"/>
<input id="db" value="移除背景" type="button" onclick="delectBackround_img()">
<script type="text/javascript">
function addBackround_img(){
//背景消失
var b_img=document.getElementById("con");
b_img.className="b_img";
//b_img.style.backgroundImage="url(bwa.jpg)";
//b_img.style.backgroundRepeat="no-repeat";
//移出背景的按钮出现
var db_button=document.getElementById("db");
db_button.style.display="block";
//显现背景的按钮消失
var ab_button=document.getElementById("ab");
ab_button.style.display="none";
}
function delectBackround_img(){
var d_img=document.getElementById("con");
d_img.style.backgroundImage="url()";
var ab_button=document.getElementById("ab");
ab_button.style.display="block";
var db_button=document.getElementById("db");
db_button.style.display="none";
}
</script>
</body>
</html>
...全文
相关推荐
用脚本调用样式的几种方法
在学习过程中,善用搜索引擎和社区资源,如Google的“JSS”搜索,可以帮助解决许多疑惑。
js通过classname来获取元素的方法
在JavaScript中,获取具有特定类名(classname)的元素是一项常见的任务,特别是在DOM操作和页面交互中。在原生JavaScript中,有多种方法可以实现这一功能。
JavaScript 拾碎[三] 使用className属性
这可以通过多种方法来完成,其中一种有效的方式是使用JavaScript的className属性。
js 利用className得到对象的实现代码
知识点说明:本文介绍了在JavaScript中如何利用元素的类名(className)获取到对应的HTML元素对象,并对获取到的元素对象进行操作,具体实现是通过编写函数来获取具有特定类名的元素,并为元素内的子元素
JS封装通过className获取元素的函数示例
在JavaScript编程中,封装是提高代码复用性和组织性的重要手段。本文提供了一个关于如何通过封装函数实现通过className获取元素的示例。假设我们有一个HTML结构,包含多个带有不同类名的元素


