获取css里面的类名,获取阿里字体图标 - 前端笔记-import { nextTick } from 'vue'; // 获取阿里字体图标 const getAlicdnIconfont = () = { &...

学习笔记

点滴记忆
回忆过往
首页>> web前端 >>获取css里面的类名,获取阿里字体图标 - 前端笔记

import { nextTick } from 'vue';

// 获取阿里字体图标
const getAlicdnIconfont = () => {
    return new Promise((resolve, reject) => {
        nextTick(() => {
            // document.styleSheets 可以返回由网页中所用到的样式表组成的数组,但是不包括直接嵌在元素里的style。
            const styles: any = document.styleSheets;
            // 所有at.alicdn.com的 链接数组
            let sheetsList = [];
            // 所有class 名称
            let sheetsIconList = [];
            // 遍历 找出所有 链接里面带 at.alicdn.com的 链接
            for (let i = 0; i < styles.length; i++) {
                if (styles[i].href && styles[i].href.indexOf('at.alicdn.com') > -1) {
                    sheetsList.push(styles[i]);
                }
            }
            // 遍历at.alicdn.com的 链接数组
            for (let i = 0; i < sheetsList.length; i++) {
                // 遍历 链接数组 里面的 cssRules属性返回样式表的所有项目
                for (let j = 0; j < sheetsList[i].cssRules.length; j++) {

                    // 查找所有 .icon 的class类名的字段
                    if (sheetsList[i].cssRules[j].selectorText && sheetsList[i].cssRules[j].selectorText.indexOf('.icon-') > -1) {
                        // 所有class 名称 去掉 ‘::before’
                        sheetsIconList.push(
                            `${sheetsList[i].cssRules[j].selectorText.substring(1, sheetsList[i].cssRules[j].selectorText.length).replace(/\:\:before/gi, '')}`
                        );
                    }

                }
            }
            if (sheetsIconList.length > 0) resolve(sheetsIconList);
            else reject('未获取到值,请刷新重试');
        });
    });
};

export default getAlicdnIconfont


随便找地方 引入使用
import getAlicdnIconfont from '/@/utils/getStyleSheets'
const clik = () => {
  getAlicdnIconfont().then((x:any) => {
    console.log(x)
    state.sheetsIconList = x
  })
}






×

感谢您的支持,我们会一直保持!

扫码支持
请土豪扫码随意打赏

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

打赏作者
版权所有,转载注意明处:前端笔记 » 获取css里面的类名,获取阿里字体图标

发表评论

路人甲 表情
Ctrl+Enter快速提交

网友评论(0)