vue 获取元素额外生成的data-v-xxx操作


Posted in Javascript onSeptember 09, 2020

vue 获取元素额外生成的data-v-xxx操作

需求描述:由于样式中使用了scoped,所以编译后标签对中生成data-v-xxx属性。在【.dialog_content】的div中 动态添加元素节点p和span时,也需要给元素节点添加data-v-xxx属性。由于data-v-xxx属性是会变化的,那如何获取它,添加在动态添加的元素节点中呢?本博客将给出解决方案。

【解决方法】

获取属性名【document.getElementById("dialog_submit").attributes[0].name】

设置属性【nodeP.setAttribute(dataV, "")】

var nodeP = document.createElement("p"),
nodeSpan = document.createElement("span");
// 获取data-v-xxxx的值
var dataV = document.getElementById("dialog_submit").attributes[0].name;
// 设置属性
nodeP.setAttribute(dataV, "");
nodeSpan.setAttribute(dataV, "");

【补充知识】

当 <style> 标签有 scoped 属性时,它的 CSS 只作用于当前组件中的元素。编译时将生成data-v-xxx属性,如下的“data-v-2bc3d899”就是因为加了scoped.

<style scoped>
.title {
 color:blue;
}
</style>
 
<template>
 <div class="title">hello</div>
</template>

上述代码被编译为:

<style>
.title[data-v-f3f3eg9] {
 color: blue;
}
</style>
 
<template>
 <div class="title" data-v-f3f3eg9>hello</div>
</template>

使用 scoped 后,父组件的样式将不会渗透到子组件中。不过一个子组件的根节点会同时受其父组件的 scoped CSS 和子组件的 scoped CSS 的影响。这样设计是为了让父组件可以从布局的角度出发,调整其子组件根元素的样式。

深度作用选择器:

如果希望 scoped 样式中的一个选择器能够作用得“更深”,例如影响子组件,可以使用 >>> 操作符:

<style scoped>
.a >>> .b { /* ... */ }
</style>

上述代码被编译为:

.a[data-v-f3f3eg9] .b { /* ... */ }

参考:https://vue-loader.vuejs.org/zh/guide/scoped-css.html

补充知识:vue 自定义属性 data-v,closest 获取事件源外层元素

在遇到使用e.target 的时候,通常会传一个参数,比较简单,在此记录一下

使用:data-XXX 来绑定

<div class="custom-tree-node"
        slot-scope="{ node, data }"
        :data-id="data.id"
</div>

获取 :

利用closeet 获取到当前目标元素最近的外层元素含有 custom-tree-node 类名的dom

然后再利用 dataset.id 拿到传的值

async handleTouchEnd (event) {
   let customNode = event.target.closest('.custom-tree-node')
   if (customNode) {
    let data = {}
    data.id = customNode.dataset.id
    }
}

以上这篇vue 获取元素额外生成的data-v-xxx操作就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
javascript 原型模式实现OOP的再研究
Apr 09 Javascript
用模版生成HTML的的框架jquery.tmpl使用详解
Jan 07 Javascript
node.js中的forEach()是同步还是异步呢
Jan 29 Javascript
JavaScript实现把数字转换成中文
Jun 29 Javascript
js验证身份证号有效性并提示对应信息
Oct 19 Javascript
浅析javascript异步执行函数导致的变量变化问题解决思路
May 13 Javascript
浅谈js中的引用和复制(传值和传址)
Sep 18 Javascript
微信小程序 侧滑删除(左滑删除)
May 23 Javascript
ECMAscript 变量作用域总结概括
Aug 18 Javascript
JS实现身份证输入框的输入效果
Aug 21 Javascript
javascript实现最长公共子序列实例代码
Feb 05 Javascript
Vue实现PC端靠边悬浮球的代码
May 09 Javascript
vue移动端写的拖拽功能示例代码
Sep 09 #Javascript
vue路由的配置和页面切换详解
Sep 09 #Javascript
JavaScript 实现下雪特效的示例代码
Sep 09 #Javascript
在Vue中获取自定义属性方法:data-id的实例
Sep 09 #Javascript
vue+高德地图实现地图搜索及点击定位操作
Sep 09 #Javascript
vue实现几秒后跳转新页面代码
Sep 09 #Javascript
JS异步宏队列微队列原理详解
Sep 09 #Javascript
You might like
php 获取今日、昨日、上周、本月的起始时间戳和结束时间戳的方法
2013/09/28 PHP
php强制用户转向www域名的方法
2015/06/19 PHP
twig模板常用语句实例小结
2016/02/04 PHP
yii2中结合gridview如何使用modal弹窗实例代码详解
2016/06/12 PHP
php 三元运算符实例详细介绍
2016/12/15 PHP
js 数据类型转换总结笔记
2011/01/17 Javascript
浅谈 jQuery 事件源码定位问题
2014/06/18 Javascript
jQuery中insertBefore()方法用法实例
2015/01/08 Javascript
JS获取图片高度宽度的方法分享
2015/04/17 Javascript
基于javascript编写简单日历
2016/05/02 Javascript
好好了解一下Cookie(强烈推荐)
2016/06/14 Javascript
基于Node的React图片上传组件实现实例代码
2017/05/10 Javascript
JS中正则表达式要注意lastIndex属性
2017/08/08 Javascript
Vue2.0父子组件传递函数的教程详解
2017/10/16 Javascript
nodejs实现连接mongodb数据库的方法示例
2018/03/15 NodeJs
jQuery实现判断上传图片类型和大小的方法示例
2018/04/11 jQuery
解决Vue+Element ui开发中碰到的IE问题
2018/09/03 Javascript
Angular8基础应用之表单及其验证
2019/08/11 Javascript
vue中获取滚动table的可视页面宽度调整表头与列对齐(每列宽度不都相同)
2019/08/17 Javascript
如何手写一个简易的 Vuex
2020/10/10 Javascript
[30:51]DOTA2上海特级锦标赛主赛事日 - 3 胜者组第二轮#1Liquid VS MVP.Phx第一局
2016/03/04 DOTA
浅析python的优势和不足之处
2018/11/20 Python
通过python改变图片特定区域的颜色详解
2019/07/15 Python
Pandas0.25来了千万别错过这10大好用的新功能
2019/08/07 Python
Python re 模块findall() 函数返回值展现方式解析
2019/08/09 Python
Python中的单下划线和双下划线使用场景详解
2019/09/09 Python
python3实现单目标粒子群算法
2019/11/14 Python
用Python去除图像的黑色或白色背景实例
2019/12/12 Python
python给图像加上mask,并提取mask区域实例
2020/01/19 Python
500行python代码实现飞机大战
2020/04/24 Python
Keras自定义IOU方式
2020/06/10 Python
学会迭代器设计模式,帮你大幅提升python性能
2021/01/03 Python
世界上最大的艺术社区:SAA
2020/12/30 全球购物
计算机专业学生的自我评价
2013/12/15 职场文书
敬老院院长事迹材料
2014/05/21 职场文书
审计局2014法制宣传日活动总结
2014/11/01 职场文书