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

为什么清除样式需要使用 object.style = { }; 而不能使用className的方式的?

//定义"取消设置"的函数
function resetSetting(){
    var doReset = confirm("Do you want to reset the HTML class?");
    if (doReset == true){
        txt.style = {};
        //txt.className = "#txt";
    }
    else {
        alert("You are given up to reset the THML class.");
    }
}

为什么清除样式需要使用 object.style = { }; 而不能使用第六行的方式的?

这个一直没有想到style {},总是想通过设置 className 来实现重置。拖了很长时间,还是看到大家的提问才找到答案。

提问者:Summving 2020-10-20 22:54

个回答

  • eric_wy
    2020-12-22 12:09:42

    第六行的样式,样式是存在优先级的,  行内样式优先级最高(除了!important外),这样#txt 的className 加上也不会有覆盖   obj.style=""  ,obj.style.cssText="" 也一样可以清除样式

  • Hygge_HXL
    2020-11-10 21:46:50

    是不是因为#txt是id属性啊

  • 天恋晶滢
    2020-10-24 18:49:17

    什么方法好,背下来就行了!