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

设置宽高属性和取消设置这两个怎么没反应呢?

<!DOCTYPE HTML>

<html>

<head>

<meta http-equiv="Content-Type" Content="text/html; charset=utf-8" />

<title>javascript</title>

<style type="text/css">

body{font-size:12px;}

#txt{

    height:400px;

    width:600px;

    border:#333 solid 1px;

padding:5px;

    overflow:hidden;}

.txt{ height:400px;

    width:600px;

    border:#333 solid 1px;

padding:5px;}

    

p{

line-height:18px;

text-indent:2em;}

</style>

</head>

<body>

  <h2 id="con">JavaScript课程</H2>

  <div id="txt"> 

     <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="c()" >  

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

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

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

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

  </form>

  <script type="text/javascript">

    var txt = document.getElementById("txt");

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

    function c(){

        txt.style.color="purple";

        txt.style.backgroundColor="#ccc";

    }

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

    function s(){

        txt.style.width="20px";

        txt.style.height="200px";

    }


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

    function h(){

        h.style.display="none";

    }funct


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

    function d(){

        txt.style.display="block";

    }


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

function r(){

   var r = confirm("是否取消所有设置?");

   if(r==true){

     txt.removeAttribute('style');

   }else{null}



  </script>

</body>

</html>


正在回答

3 回答

//你这里无效是因为你获取的id为txt的元素获取的太早,那时候可能还没加载出来JS语句就已经执行了。
//这里有几个方法解决这个问题。
//第一个,也就是等页面都加载好了再获取元素
window.onload= function() {
    //如果你在ready方法里定义txt,那你也要把方法都写在onload方法里
    //否则就要把txt定义到外面。
    var txt = document.getElementById("txt");
};

//方法二、 可以在调用的方法里直接获取元素
//当然,不建议这么弄,这样不利于代码的美观和优化。
function s(){
        var txt = document.getElementById("txt");
        txt.style.width="20px";
        txt.style.height="200px";
    }
//方法三、可以直接写到标签上,更加不建议这么写
//onclick="javascript:var txt = document.getElementById("txt"); txt.style.width="20px";"
0 回复 有任何疑惑可以回复我~
#1

BeierYao

以为你是在语法正确的情况下无法调用。……
2015-05-28 回复 有任何疑惑可以回复我~
#2

clara89 提问者

非常感谢!
2015-10-30 回复 有任何疑惑可以回复我~
//定义"取消设置"的函数
function r(){
   var r = confirm("是否取消所有设置?");/*错误1:分号为中文标点,应改为英文标点*/
   if(r==true){
     txt.removeAttribute('style');
   }
   else{null}
/*错误2:最后一行少了一个大括号*/

如果改正了上述两个错误后,取消设置按钮依旧无效,那么原因可能是:浏览器兼容性问题。(仔细阅读下面的文字哦,建议自己测试加深印象);

经测试,在淘宝浏览器极速模式下,该功能失效!!然而在其他浏览器(火狐、chrome、IE10)以及淘宝浏览器的兼容模式 中啥问题都没有!!原因:标签获取style属性失败,若在标签中预先写好style属性<p style="red"></p>,那么啥问题都没有啥浏览器都ok;若通过JavaScript操作DOM改变标签style属性,如:documen.getElementById.style.color="red" 那么removeAttribute()失效,暂时还没有解决办法;


0 回复 有任何疑惑可以回复我~
<!DOCTYPE HTML>

<html>

<head>

<meta http-equiv="Content-Type" Content="text/html; charset=utf-8" />

<title>javascript</title>

<style type="text/css">

body{font-size:12px;}

#txt{

    height:400px;

    width:600px;

    border:#333 solid 1px;

padding:5px;

    overflow:hidden;}

.txt{ height:400px;

    width:600px;

    border:#333 solid 1px;

padding:5px;}

    

p{

line-height:18px;

text-indent:2em;}

</style>

</head>

<body>

  <h2 id="con">JavaScript课程</H2>

  <div id="txt"> 

     <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="c()" >  

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

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

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

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

  </form>

  <script type="text/javascript">

    var txt = document.getElementById("txt");

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

    function c(){

        txt.style.color="purple";

        txt.style.backgroundColor="#ccc";

    }

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

    function s(){

        txt.style.width="20px";

        txt.style.height="200px";

    }



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

    function h(){

        txt.style.display="none";

    }



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

    function d(){

        txt.style.display="block";

    }



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

function r(){

   var r = confirm("是否取消所有设置?");

   if(r==true){

     txt.removeAttribute('style');

   }else{null}
}




  </script>

</body>

</html>


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

cococe

这是修改过的代码,你自己对比一下修改了哪些内容。
2015-05-28 回复 有任何疑惑可以回复我~
#2

BeierYao 回复 cococe

改了什么地方直接说出来就好了
2015-05-28 回复 有任何疑惑可以回复我~
#3

BeierYao 回复 BeierYao

第一个地方h()方法后面多了一个funct的错误语句。第二个地方var r = confirm("是否取消所有设置?"); 后面的应该是因为状态下的;而不是中文状态的分号。这个放在浏览器中按一下f12就可以看到报错了。
2015-05-28 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

设置宽高属性和取消设置这两个怎么没反应呢?

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