网易微专业-DOM编程艺术 04样式操作

1、CSS → DOM



内嵌样式表

2、样式更新

element.style.borderColor = 'red'; element.style.color = 'red';
问题:①更新一个属性需要一条语句②不是我们熟悉的CSS
⑵style.cssText
element.style.cssText = 'border-color:red;color:red;';
以上两种【样式混在逻辑中】!
⑶更新class 【推荐】

//CSS
.invalid{border-color:red;
             color:red;         
}

element.className += ' invalid';
【问题:】一次更新很多元素的样式 ??
更换样式表。

3、获取样式

只有在内嵌样式才能获取实际样式
window.getComputedStyle() ie9-使用element.currentStyle兼容

4、总结


更新样式

Q1:addEventListener($('update')...)中addEventListener??$('update')??

Q2:border-radius ??

Q3:box-shadow: 2px 2px 3px #ededed inset; ??inset??

Q4:JS什么意思???

<!DOCTYPE html>
<html>
<head>
    <title>className - 更新样式</title>
    <style>
        button{padding: 4px 5px;margin-left: 10px;}
        .u-txt{width: 215px;padding: 4px 5px;border: 1px solid #ababab;border-radius: 3px;box-shadow: 2px 2px 3px #ededed inset;font-size: 14px;font-weight: bold;}

        .invalid{border-color: red;color: red;}
    </style>
</head>
<body>
    <input id="mobile" class="u-txt" value="13564782365">
    <button id="update">更新样式</button>
    <script src="util.js"></script>
    <script>
        Util.addEventListener($('update'), 'click', updateStyle);

        function updateStyle(){
            var element = $('mobile');

            element.className += ' invalid';
        }

    </script>
</body>
</html>```

//JS
function $(id){
return typeof id === "string" ? document.getElementById(id) : id;
}
var Util = (function(document, util){
util = util || {};
util.addEventListener = function(element, type, listener){
if(element.addEventListener){
element.addEventListener(type,listener,false);
} else {
element.attachEvent('on' + type, listener);
}
}
return util;
})(document,Util);```

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容