为了账号安全,请及时绑定邮箱和手机立即绑定

问题:1.script放在head标签中为什么就不行了? 2.如果用obj.className=classname;的方法设置样式,怎么取消样式呢?

  1. 问题:script放在head标签中为什么就不行了?

  2. 如果用obj.className=classname;的方法设置样式,怎么取消样式呢?

  3. 发现的问题:用getElementsByClassName()以及getElementsByTagName的方法获取对象进行样式设置为什么不行?

    答:getElementsByClassName()的方法获取得到的是数组,试了getElementsByClassName("")[0]可以。

正在回答

4 回答

  1. 不知道你的应用场景,如果放在body最下可执行,放在head中不能执行,那么在head的时候要放在window.onload函数来执行你的操作。

  2. 可以利用obj.className.replace(classname,' ');

0 回复 有任何疑惑可以回复我~
#1

MeJu 提问者

body下可执行,但是复制到head就不行了,加了window.onload也不行。我下面贴有代码。谢谢您的解答。
2016-02-01 回复 有任何疑惑可以回复我~
#2

心雷forever 回复 MeJu 提问者

因为你放在body之后了。id为text才会被document.getElementById('text');获取到。如果你像放到head里面也能正常执行。代码这样写 var mydiv = null;window.onload = function(){mydiv = document.getElementById('text');} 把这里修改一下,其他地方不用变
2016-02-01 回复 有任何疑惑可以回复我~
#3

心雷forever 回复 MeJu 提问者

因为你这个例子是按钮触发的事件。我在下面给你贴正确代码了。你自己看下吧
2016-02-01 回复 有任何疑惑可以回复我~
#4

MeJu 提问者 回复 心雷forever

OK了,万分感谢!!!灰常感谢!!!
2016-02-01 回复 有任何疑惑可以回复我~
查看2条回复

<!DOCTYPE html>

<html>

<head>

    <meta charset="UTF-8">

    <title>DOM改变样式以及隐藏和显示</title>

 <style type="text/css">

 .content{

            width:500px;

            height:500px;

            border:1px dotted black;

        }

        p{

            text-indent:2em;

        }

        input[type="button"]{

            display:inline-block;

            margin-right:14px;

        }

 </style>

    <script type="text/javascript">

 var mydiv = null;

 window.onload = function(){

  mydiv =document.getElementById("text");


 }

 //定义"改变颜色"的函数

 function changeColor(){

 mydiv.style.backgroundColor="red";

 }

 //定义"改变宽高"的函数

 function changeSize(){

 mydiv.style.width="200px";

 mydiv.style.height="300px";

    }

 //定义"隐藏内容"的函数

 function hidetext(){

 mydiv.style.display="none";

    }

 //定义"显示内容"的函数

 function showtext(){

 mydiv.style.display="block";

    }

 //定义"取消设置"的函数

 function resettext(){

 var mychose = confirm("确定取消样式?");

 if(mychose==true){

mydiv.removeAttribute("style");

}

 }

</script>

</head>

<body>

<h2>JavaScript课程</H2>

<div id="text">

    <h5>JavaScript为网页添加动态效果并实现与用户交互的功能。</h5>

    <p>1. JavaScript入门篇,让不懂JS的你,快速了解JS。</p>

    <p>2. JavaScript进阶篇,让你掌握JS的基础语法、函数、数组、事件、内置对象、BOM浏览器、DOM操作。</p>

    <p>3. 学完以上两门基础课后,在深入学习JavaScript的变量作用域、事件、对象、运动、cookie、正则表达式、ajax等课程。</p>

</div>

<form>

 <!--当点击相应按钮,执行相应操作,为按钮添加相应事件-->

 <input type="button" value="改变颜色" onclick="changeColor()">

    <input type="button" value="改变宽高" onclick="changeSize()">

    <input type="button" value="隐藏内容" onclick="hidetext()">

    <input type="button" value="显示内容" onclick="showtext()">

    <input type="button" value="取消设置" onclick="resettext()">

</form>

</body>

</html>


0 回复 有任何疑惑可以回复我~
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>DOM改变样式以及隐藏和显示</title>
 <style type="text/css">
 .content{
            width:500px;
            height:500px;
            border:1px dotted black;
        }
        p{
            text-indent:2em;
        }
        input[type="button"]{
            display:inline-block;
            margin-right:14px;
        }
 </style>
    <script type="text/javascript">
 var mydiv =document.getElementById("text") 
 //定义"改变颜色"的函数
 function changeColor(){
 mydiv.style.backgroundColor="red";
 }
 //定义"改变宽高"的函数
 function changeSize(){
 mydiv.style.width="200px";
 mydiv.style.height="300px";
    }
 //定义"隐藏内容"的函数
 function hidetext(){
 mydiv.style.display="none";
    }
 //定义"显示内容"的函数
 function showtext(){
 mydiv.style.display="block";
    }
 //定义"取消设置"的函数
 function resettext(){
 var mychose = confirm("确定取消样式?");
 if(mychose==true){
 mydiv.removeAttribute("style");
 }
</script>
</head>
<body>
<h2>JavaScript课程</H2>
<div class="content" id="text">
    <h5>JavaScript为网页添加动态效果并实现与用户交互的功能。</h5>
    <p>1. JavaScript入门篇,让不懂JS的你,快速了解JS。</p>
    <p>2. JavaScript进阶篇,让你掌握JS的基础语法、函数、数组、事件、内置对象、BOM浏览器、DOM操作。</p>
    <p>3. 学完以上两门基础课后,在深入学习JavaScript的变量作用域、事件、对象、运动、cookie、正则表达式、ajax等课程。</p>
</div>
<form>
 <!--当点击相应按钮,执行相应操作,为按钮添加相应事件-->
 <input type="button" value="改变颜色" onclick="changeColor()">
    <input type="button" value="改变宽高" onclick="changeSize()">
    <input type="button" value="隐藏内容" onclick="hidetext()">
    <input type="button" value="显示内容" onclick="showtext()">
    <input type="button" value="取消设置" onclick="resettext()">
</form>
</body>
</html>


0 回复 有任何疑惑可以回复我~
#1

心雷forever

你resettext方法少了个结尾的花括号
2016-02-01 回复 有任何疑惑可以回复我~
  1. 可能是script中的代码有错误

  2. 可以用obj.removeAttribute("class","相应的类名");

  3. getElement后面不加s的是获得单个对象可以直接调用相关的方法,加s的是获取的对象数组要用索引来调用相应的方法

0 回复 有任何疑惑可以回复我~
#1

MeJu 提问者

可能有错误吧,但是没发现。。。谢谢您的解答。
2016-02-01 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

问题:1.script放在head标签中为什么就不行了? 2.如果用obj.className=classname;的方法设置样式,怎么取消样式呢?

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信