关于取消设置的问题

来源:4-1 编程挑战

慕粉3218144

2016-04-21 11:47

把#txt改成 .txt

<style type="text/css">

body{font-size:12px;}

.txt{

    height:400px;

    width:600px;

    border:#333 solid 1px;

    padding:5px;}

 p{

     line-height:18px;

     text-indent:2em;}

</style>

下面是取消设置方法,但是没效果,麻烦看一下哪里错了?

  function cancel(){

        var q=confirm("是否确定取消设置?")

        if(q==true){

            last.className="txt";

        }

还有有的人写的取消设置,txt.removeAttribute('style');,这个是什么意思?


写回答 关注

2回答

  • 前端小胖子
    2016-04-21 23:38:54
    已采纳

    按照你的思路是要用修改css样式来恢复设置,那么:

    第一步:id不能直接改成类名,需要增加一个类名,因为function里面用的是getElementById,如果改成类名,那就获取不到参数了:

    <div id="txt"> 修改为 <div id="txt" class="con">

    第二步:#txt修改为.con,增加.con2,文本原来用的就是.con的样式,然后你调用function的时候修改的也是.con的样式,也就是.con样式是已经被修改了不再是原来的数据(虽然css里面看上去没变),所以按照你的思路,需要写一个新的样式去覆盖;

    .con{

        height:400px;

        width:600px;

        border:#333 solid 1px;

        padding:5px;}

    con2{

        height:400px;

        width:600px;

        border:#333 solid 1px;

        padding:5px;}

    第三步:覆盖新样式,这样就会被替换了

     function cancel(){

            var q=confirm("是否确定取消设置?");

            if(q==true){

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

                last.className="con2"; 

            }

    另外:txt.removeAttribute('style'); txt是获取的对象,removeAttribute('style')是清除所有style设置,意会应该就能明白吧……

    慕粉3218...

    非常感谢!

    2016-04-22 09:10:53

    共 1 条回复 >

  • qq_缘徊_03225888
    2016-04-21 13:00:00

    function cancel(){

            var q=confirm("是否确定取消设置?")

            if(q==true)

          {

              q.removeAttribute("style"};

            }


    前端小胖子

    q.remove……这里有点问题,removeAttribute的对象是div中的txt,并不是q,所以这里应该是 document.getElementById("txt").removeAttribute("style"); 亲测~

    2016-04-21 23:41:12

    共 1 条回复 >

JavaScript入门篇

JavaScript做为一名Web工程师的必备技术,本教程让您快速入门

738661 学习 · 9561 问题

查看课程

相似问题