vue 獲取元素額外生成的data-v-xxx操作

需求描述:由于樣式中使用了scoped,所以編譯后標簽對中生成data-v-xxx屬性。在【.dialog_content】的div中 動態(tài)添加元素節(jié)點p和span時,也需要給元素節(jié)點添加data-v-xxx屬性。由于data-v-xxx屬性是會變化的,那如何獲取它,添加在動態(tài)添加的元素節(jié)點中呢?本博客將給出解決方案。
【解決方法】
獲取屬性名【document.getElementById("dialog_submit").attributes[0].name】
設(shè)置屬性【nodeP.setAttribute(dataV, "")】
var nodeP = document.createElement("p"),
nodeSpan = document.createElement("span");
// 獲取data-v-xxxx的值
var dataV = document.getElementById("dialog_submit").attributes[0].name;
// 設(shè)置屬性
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 后,父組件的樣式將不會滲透到子組件中。不過一個子組件的根節(jié)點會同時受其父組件的 scoped CSS 和子組件的 scoped CSS 的影響。這樣設(shè)計是為了讓父組件可以從布局的角度出發(fā),調(diào)整其子組件根元素的樣式。
深度作用選擇器:
如果希望 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 的時候,通常會傳一個參數(shù),比較簡單,在此記錄一下
使用: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操作就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
uniapp中使用u-loadmore,loadText內(nèi)容不隨status改變刷新方式
這篇文章主要介紹了uniapp中使用u-loadmore,loadText內(nèi)容不隨status改變刷新方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2024-05-05
vue移動端UI框架實現(xiàn)QQ側(cè)邊菜單組件
這篇文章主要介紹了vue移動端UI框架實現(xiàn)仿qq側(cè)邊菜單組件,非常不錯,具有參考借鑒價值,需要的朋友可以參考下2018-03-03
Vue?中如何使用?el-date-picker?限制只能選擇當天、當天之前或當天之后日期的方法詳解
在Vue前端開發(fā)中,使用 el-date-picker 組件進行日期選擇是常見的需求,有時候我們需要限制用戶只能選擇當天、當天之前或當天之后的日期,本文將詳細介紹如何使用 el-date-picker 組件實現(xiàn)這些限制,讓你能夠輕松應(yīng)對各種日期選擇場景,需要的朋友可以參考下2023-09-09
vue實現(xiàn)excel文件導(dǎo)入導(dǎo)出操作示例
這篇文章主要為大家介紹了vue實現(xiàn)excel文件的導(dǎo)入導(dǎo)出實現(xiàn)示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2023-07-07
解決vue watch數(shù)據(jù)的方法被調(diào)用了兩次的問題
這篇文章主要介紹了解決vue watch數(shù)據(jù)的方法被調(diào)用了兩次的問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-11-11

