vue2中开发时通过template中的div等标签自动输出对应的less形式带层级的class,只显示带class的

news2024/11/17 10:35:53

1.写完静态不是要写less吗,自动生成一下实现

this.getLevelClass('domId');

domId是自定义的class名称,跟根据自己的需要设置

//vue2中开发时通过template中的div等标签自动输出对应的less形式带层级的class,只显示带class的
        getLevelClass(name) {
            let dom = document.getElementById(name);
            let html = dom.innerHTML;
            let str = `.${name}{`
            console.log('html', html);
            let domLIst = dom.childNodes;
            console.log(domLIst);
            domLIst.forEach(item => {
                console.log('domLIst', item);
                str = this.getdom(item, str);
            })
            str += '}'
            console.log('str', str);

        },
        getdom(dom, str) {
            if (dom.classList && dom.classList.length) {
                str += `.${Array.from(dom.classList).join('.')}{`
                if (dom.childNodes) {
                    dom.childNodes.forEach(item => {
                        str = this.getdom(item, str);
                    })
                }
                str += `}`;
                str += `       `
                return str
            } else {
                return str;
            }
        },

 查看一下效果:

<div id="domId" class="domId">

            <div class="aa abc">

                aa

                <div class="a1">

                    <div class="a1-1"></div>

                    <div class="a1-2"></div>

                </div>

                <div class="a2">

                    <div class="a2-1"></div>

                    <div class="a2-2"></div>

                </div>

                <input />

            </div>

            <div class="bb">bb</div>

        </div>

返回的class自动格式化就好了

 

优化:如果我们在使用ui框架如antd等组件时不想返回包括antd组件的class时可以:

if (dom.classList && dom.classList.length && Array.from(dom.classList).join('.').indexOf('ant-') == -1)

在if中多添加判断过滤 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/799005.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Python基础语法第七章之文件

目录 一、文件 1.1文件是什么 1.2文件路径 1.3文件操作 1.3.1 打开文件 1.3.2关闭文件 1.3.3写文件 1.3.4读文件 二、使用上下文管理器 2.1上下文管理器 一、文件 1.1文件是什么 变量是把数据保存到内存中. 如果程序重启/主机重启, 内存中的数据就会丢失. 要想能让…

Excel 两列数据中相同的数据进行同行显示

一、要求 假设您有两个列&#xff0c;分别是A列和B列&#xff0c;需要在C列中找出A列对应的B列的值。 二、方案 方法1&#xff1a;寻常思路 凸显重复项对A列单独进行筛选–按颜色进行排序&#xff0c;然后升序对B列重复上述操作即可 方法2&#xff1a;两个公式 VLOOKUP 纵向查找…

【分享帖】LCD的MCU接口和SPI接口详解

LCD&#xff08;Liquid Crystal Display&#xff09;液晶屏&#xff0c;作为电子产品的重要组成部分&#xff0c;是终端用户与电子产品交互的重要载体。现在市场上的LCD&#xff0c;按照尺寸、功能、接口、用途等分为很多种&#xff0c;本文主要介绍如下两种LCD物理接口&#x…

tinymce插件tinymce-powerpaste-plugin——将word中内容(文字图片等)直接粘贴至tinymce编辑器中

TinyMCE是一款易用、且功能强大的所见即所得的富文本编辑器。同类程序有&#xff1a;UEditor、Kindeditor、Simditor、CKEditor、wangEditor、Suneditor、froala等等。 TinyMCE的优势&#xff1a; 开源可商用&#xff0c;基于LGPL2.1 插件丰富&#xff0c;自带插件基本涵盖日常…

Cesium态势标绘专题-直线箭头(标绘+编辑)

标绘专题介绍:态势标绘专题介绍_总要学点什么的博客-CSDN博客 入口文件:Cesium态势标绘专题-入口_总要学点什么的博客-CSDN博客 辅助文件:Cesium态势标绘专题-辅助文件_总要学点什么的博客-CSDN博客 本专题没有废话,只有代码,代码中涉及到的引入文件方法,从上面三个链…

网络安全大厂面试题

自我介绍 有没有挖过src&#xff1f; 平时web渗透怎么学的&#xff0c;有实战吗&#xff1f;有过成功发现漏洞的经历吗&#xff1f; 做web渗透时接触过哪些工具 xxe漏洞是什么&#xff1f;ssrf是什么&#xff1f; 打ctf的时候负责什么方向的题 为什么要搞信息安全&#xff0c;对…

照片加水印软件帮你搞定版权保护

嘿&#xff0c;亲爱的摄影爱好者&#xff01;是时候为你的照片保驾护航了&#xff01;想象一下&#xff0c;你在拍摄完一张美轮美奂的照片后&#xff0c;你为它加上个性化的水印&#xff0c;让每一个观者都知道这份艺术的创作者是你&#xff01;是不是觉得有点激动呢&#xff1…

幻方问题(Magic Squares)

目录 基本介绍 丢勒-幻方 高阶幻方矩阵 习题 1. 幻方检测 2. durerperm 3. 颜色分配表 4. 幻方矩阵的逆矩阵 5. 幻方矩阵的秩 基本介绍 nn幻方是含有1到n^2的整数数组&#xff0c;排列后是的每一行、每一列、正反两条主对角线上数字的和都是相同的。对于每个n>2都有…

Java类的默认构造函数

什么情况下存在默认构造函数 说明 如果一个Java类没有显式包含构造函数的声明&#xff0c;那么隐含着有一个默认构造函数。 示例 定义一个类B&#xff0c;没有显式声明构造函数&#xff0c;所以存在一个默认构造函数&#xff1a; package com.thb;public class B {public …

你说你会Java手动锁,但你会这道题吗???

按照这个格式输出你会吗&#xff1f;&#xff1f;&#xff1f; 你说你不会&#xff0c;接下来认真看认真学了。 1.首先引入原子类。AtomicInteger num new AtomicInteger(0); 什么是原子类&#xff1f; 就是可以保证线程安全的原子操作的数据类型。 有什么作用&#xff1f;…

Selenium结合Unittest

1、Unittest&#xff1a;单元测试框架 ——对软件中的最小可测单元进行检查和验证 作用&#xff1a; 提供用例组织及执行提供丰富的断言方法&#xff08;判断实际结果与预期结果是否一致&#xff09;提供丰富的日志及测试结果 2、Unittest核心要素 TestCase&#xff08;测…

易混淆-for循环中的break与return

1、for循环中的return不仅会跳出循环&#xff0c;还还会跳出当前函数。 2、for循环中的break只会跳出循环&#xff0c;结束for循环。 例&#xff1a;

Git的远程操作与多人协作

"爱在地图上剥落&#xff0c;我离孤单几公里~" 我们目前所说、所学的内容&#xff08;工作区、暂存区、版本库&#xff09;都只是存在于本地上&#xff0c;也就是说你的一台机器上只有这么一个你维护的版本库。可是Git是一个分布式版本控制系统&#xff0c;这又是什…

国产化 | 走近人大金仓-KingbaseES数据库

引入 事务隔离级别 || KingbaseES数据库 开篇 1、KingbaseES数据库 百度百科&#xff1a;金仓数据库的最新版本为KingbaseES V8&#xff0c; KingbaseES V8在系统的可靠性、可用性、性能和兼容性等方面进行了重大改进&#xff0c;支持多种操作系统和硬件平台支持Unix、Linux…

搭建测试平台开发(一):Django基本配置与项目创建

一、安装Django最新版本 1 pip install django 二、创建Django项目 首先进入要存放项目的目录&#xff0c;再执行创建项目的命令 1 django-admin startproject testplatform 三、Django项目目录详解 1 testplatform 2 ├── testplatform  # 项目的容器 3 │ ├──…

2.03 PageHelper分页工具

步骤1&#xff1a;在application.yml中添加分页配置 # 分页插件配置 pagehelper:helperDialect: mysqlsupportMethodsArguments: true步骤2&#xff1a;在顶级工程pom文件下引入分页插件依赖 <!--5.PageHelper --> <dependency><groupId>com.github.pagehe…

《golang设计模式》第一部分·创建型模式-02-原型模式(Prototype)

文章目录 1. 概念1.1 简述1.2 角色1.3 类图 2. 代码示例2.1 设计2.2 代码2.3 类图 1. 概念 1.1 简述 用原型实例指定创建对象的种类&#xff0c;并且通过拷贝这些原型创建新的对象 1.2 角色 Prototype&#xff08;抽象原型类&#xff09;&#xff1a;它是声明克隆方法的接口…

python多进程编程(模式与锁)

multiprocessing的三种模式 fork&#xff0c;【拷贝几乎所有资源】【支持文件对象/线程锁等传参】【unix】【任意位置开始】【快】spawn&#xff0c;【run参数传参必备资源】【不支持文件对象/线程锁等传参】【unix、win】【main代码块开始】【慢】forkserver&#xff0c;【ru…

数据库提供的系统函数及添加外键约束

十八、数据库提供的系统函数 1、数值型函数 2、字符串函数 注意&#xff1a;使用utf8mb4或者utf8汉字都在第三个字节&#xff0c;是Unicode编码&#xff0c;所以一个汉字占3个字节 GBK编码&#xff0c;一个汉字两个字节 char_length()不管编码&#xff0c;中文英文都一个 下标…

Linux下安装RabbitMQ教程

官方安装指南&#xff1a;https://www.rabbitmq.com/install-rpm.html 我们将要安装的RabbitMQ的版本是3.8.2 el/7/rabbitmq-server-3.8.2-1.el7.noarch.rpm - rabbitmq/rabbitmq-server packagecloud 不需要单独安装Erlang环境。 2. 环境配置&#xff1a; 前提&#xff…