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 相关文章推荐
用YUI做了个标签浏览效果
Feb 20 Javascript
实例解析JS布尔对象的toString()方法和valueOf()方法
Oct 25 Javascript
jquery限定文本框只能输入数字(整数和小数)
Jan 08 Javascript
Adapter适配器模式在JavaScript设计模式编程中的运用分析
May 18 Javascript
jQuery插件学习教程之SlidesJs轮播+Validation验证
Jul 12 Javascript
JavaScript基础之AJAX简单的小demo
Jan 29 Javascript
javascript事件的传播基础实例讲解(35)
Feb 14 Javascript
JS对象与json字符串相互转换实现方法示例
Jun 14 Javascript
JavaScript设计模式之观察者模式(发布订阅模式)原理与实现方法示例
Jul 27 Javascript
微信小程序解除10个请求并发限制
Dec 18 Javascript
tsconfig.json配置详解
May 17 Javascript
angularjs模态框的使用代码实例
Dec 20 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文件中bom的PHP代码
2012/03/13 PHP
php 启动时报错的简单解决方法
2014/01/27 PHP
PHP处理会话函数大总结
2015/08/05 PHP
CodeIgniter多语言实现方法详解
2016/01/20 PHP
PHP简单预防sql注入的方法
2016/09/27 PHP
PHP的图像处理实例小结【文字水印、图片水印、压缩图像等】
2019/12/20 PHP
document.open() 与 document.write()的区别
2007/08/13 Javascript
javascript 获取网页参数系统
2008/07/19 Javascript
JS解决ie6下png透明的方法实例
2013/08/02 Javascript
js身份证判断方法支持15位和18位
2014/03/18 Javascript
js控制容器隐藏出现防止样式变化的两种方法
2014/04/25 Javascript
jQuery的ajax下载blob文件
2016/07/21 Javascript
基于node.js制作简单爬虫教程
2017/06/29 Javascript
Node.js实现mysql连接池使用事务自动回收连接的方法示例
2018/02/03 Javascript
使用RN Animated做一个“添加购物车”动画的方法
2018/09/12 Javascript
javascript异步编程的六种方式总结
2019/05/17 Javascript
使用vue制作滑动标签
2019/09/21 Javascript
vue 使用async写数字动态加载效果案例
2020/07/18 Javascript
ant design pro中可控的筛选和排序实例
2020/11/17 Javascript
用Javascript实现发送短信验证码间隔功能
2021/02/08 Javascript
[01:14:31]Secret vs VG 2018国际邀请赛淘汰赛BO3 第一场 8.23
2018/08/24 DOTA
Python 面向对象 成员的访问约束
2008/12/23 Python
python中的字典详细介绍
2014/09/18 Python
基于Python实现的百度贴吧网络爬虫实例
2015/04/17 Python
Python的Flask框架中实现简单的登录功能的教程
2015/04/20 Python
Python实现购物程序思路及代码
2017/07/24 Python
python 实现人和电脑猜拳的示例代码
2020/03/02 Python
Python实现猜年龄游戏代码实例
2020/03/25 Python
基于tensorflow __init__、build 和call的使用小结
2021/02/26 Python
全面解析CSS Media媒体查询使用操作(推荐)
2017/08/15 HTML / CSS
韩国演唱会订票网站:StubHub韩国
2019/01/17 全球购物
会计毕业生自我鉴定
2013/11/04 职场文书
高等教育学自荐书范文
2014/02/10 职场文书
运动会入场词50字
2014/02/20 职场文书
个人总结与自我评价
2015/02/14 职场文书
大学生党员暑假实践(活动总结)
2019/08/21 职场文书