前言:

由于业务需求,将页面内容转成pdf,前端需要提供整个页面的dom元素提供给后端,但样式并不是在行内而是在<style>标签里。


解决方案:

通过原生属性 document.styleSheets 读取vue单页面组件加载过的所有css样式

const cssBlock = document.styleSheets


有了获取到的css样式表就能遍历去找到我需要的,由于是伪数组,我们先用ES6解构一下;点开可以发现他的顺序是从页面初始化开始,大概率我们需要的样式会在最后,所以我们用reverse先反转,再通过find去遍历。

遍历后我们可以通过我们需要得样式去获取那一组件的样式。以下是完整代码。

function getCssBlock() {const cssBlock = document.styleSheetsconst styleData = [...cssBlock].reverse().find(({ cssRules }) => {return [...cssRules].find((rule) => {return ['.voucher_head'].includes(rule.selectorText)})})return styleData.ownerNode.innerText
}

在js中获取vue文件的style标签下的内容相关推荐

  1. html遍历table tr,js中获取 table节点各tr及td的内容简单实例

    js中获取 table节点各tr及td的内容简单实例 2019-01-06 编程之家 https://www.jb51.cc 编程之家收集整理的这篇文章主要介绍了js中获取 table节点各tr及td ...

  2. js中获取 table节点各tr及td的内容方法

    <table id="tb1" width="200" border="1" cellpadding="4" ce ...

  3. js/jquery 获取本地文件的文件路劲 获取input框中type=‘file’ 中的文件路径(转载)...

    原文:http://blog.csdn.net/niyingxunzong/article/details/16989947 js/jquery 获取本地文件的文件路劲 获取input框中type=' ...

  4. 在style标签中,vue项目引入style文件,外部css文件

    在style标签中,vue项目引入style文件,外部css文件 一.css是什么? 二.使用步骤 1.使用style标签引入 2.在style标签内使用@import导入 总结 一.css是什么? ...

  5. vue项目 在style标签中引入css,less,sass的方法

    vue项目 style标签引入 less sass less和sass需要安装相应的依赖 package.json 中加上 并再次npm install 重启项目 "less": ...

  6. vue如何在style标签中使用data响应式数据?

    文章目录 一.面临到的需求? 二.如何在css中使用变量? 三.vue如何在style标签中使用data响应式数据? 一.面临到的需求? 首先我们知道css对应是有伪类的,如:hover, :acti ...

  7. 鸿蒙开发-在JS中获取hml页面中Input输入的值

    场景 鸿蒙基于JS搭建HelloWorld并修改国际化文件: https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/118274050 在 ...

  8. js中获取元素的当前位置

    js中获取当前位置有如下几种方法: event.offsetX,   (IE属性,测试都可以使用) event.offsetY,    (IE属性,测试都可以使用) event.clientX,  e ...

  9. JS中获取contextPath的方法

    参考:https://hanzhdy.iteye.com/blog/2261832 https://blog.csdn.net/xb12369/article/details/46416845 在JS ...

最新文章

  1. 有符号整型的数据范围为什么负数比正数多一个?
  2. linux 12541 重启监听器,ORA-12541:ORA-12541:TNS:没有监听器 解决方法
  3. java git subtree_Git subtree使用
  4. 【AI初识境】什么是深度学习成功的开始?参数初始化
  5. MySQL验证索引提升查询效率
  6. 各种语言里获取当前模块的方法:ABAP,ABSL,C,nodejs
  7. ### 阅读之痕-2013/11
  8. 想开发一个背单词的学习软件
  9. Linux性能监控与分析之--- CPU
  10. MySQL独立表空间、共享表空间
  11. 微信小程序篇(笔记1:wxParse富文本解析的使用)
  12. R9000P2021版拯救者 装ubuntu系统相关问题(WiFi、蓝牙、亮度调节,驱动安装)记录总结
  13. mac 固态硬盘 格式化_您可以格式化硬盘或固态硬盘多少次?
  14. 微信小程序在线考试项目开发-注册登录功能
  15. 矩母函数求期望与方差
  16. 软件测试岗位具体是做什么的?
  17. 2017诺贝尔文学奖揭晓!1901-2017年最全诺奖书单来了
  18. unity overrideSprite的使用
  19. 百度地图爬虫——获取某区域所有中学附近的网吧数据
  20. 腾讯云服务器8核16G18M配置测评

热门文章

  1. 模仿jQuery的slideDown、slideUp上下滑动,舒服!
  2. 1386: 进制转换
  3. Token最核心的价值是建立一套激励机制,INE智联生态一直在践行!
  4. 高考后,学会这种能力,让你收益终生!
  5. 常见的Socket网络异常场景分析
  6. 重绘(Repaint)和回流(Reflow)
  7. iOS 判断设备是否越狱
  8. flack框架分页实现 前后端联调
  9. ndarray如何取元素_访问和删除 ndarray 中的元素及向其中插入元素
  10. Web应用程序安全性测试指南