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

来源:4-1 编程挑战

Summving

2020-10-20 22:54

//定义"取消设置"的函数
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 来实现重置。拖了很长时间,还是看到大家的提问才找到答案。

写回答 关注

3回答

  • 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

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

JavaScript入门篇

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

739817 学习 · 9566 问题

查看课程

相似问题