问答详情
源自:4-1 编程挑战

关于取消设置的问题

把#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');,这个是什么意思?


提问者:慕粉3218144 2016-04-21 11:47

个回答

  • 前端小胖子
    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设置,意会应该就能明白吧……

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

    function cancel(){

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

            if(q==true)

          {

              q.removeAttribute("style"};

            }