欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Vue3獲取和操作DOM元素的項(xiàng)目實(shí)踐

 更新時(shí)間:2023年08月10日 10:17:21   作者:鍵指江湖  
在Vue3中,有時(shí)我們需要直接操作DOM節(jié)點(diǎn),本文主要介紹了Vue3獲取和操作DOM元素的項(xiàng)目實(shí)踐,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧

環(huán)境:vue3+ts+vite

目標(biāo):

1.修改DOM的文本值和樣式

2.獲取后代子DOM元素,操作修改

<template>
    <div class="content">
        <h1>演示</h1>
        <p ref="pText1">這是ref為pText1的一段文本</p>
    </div>
</template>
<script lang="ts" setup>
import {ref} from 'vue'
const pText1=ref()
console.log(pText1.value)
</script>

發(fā)現(xiàn)此時(shí)定義的 pText1 打印的值是undefined,這個(gè)情況發(fā)生原因是未真正獲取到DOM元素,并不是我們定義的 const pText1=ref() 里面是空的問(wèn)題。于是在生命鉤子里面執(zhí)行看看是什么?

<template>
    <div class="content" style="padding: 0 30px;">
        <h1>演示</h1>
        <p ref="pText1">這是ref為pText1的一段文本</p>
    </div>
</template>
<script lang="ts" setup>
import {onMounted, ref} from 'vue'
const pText1=ref()
console.log(pText1.value)
onMounted(()=>{
    console.log(pText1.value)
})
</script>

看到了吧。那接下來(lái)就知道怎么操作了,加一下顏色

onMounted(()=>{
    console.log(pText1.value)
    pText1.value.style.color='red'
})

再改個(gè)文本值看看

onMounted(()=>{
    console.log(pText1.value)
    pText1.value.style.color='red'
    pText1.value.innerText='我是修改后的文本值'
})

當(dāng)然,我們不一定要頁(yè)面加載就執(zhí)行,我們可以定義一個(gè)方法來(lái)執(zhí)行DOM修改操作:

<template>
    <div class="content" style="padding: 0 30px;">
        <h1>演示</h1>
        <p ref="pText1">這是ref為pText1的一段文本</p>
        <el-button @click="changeText" type="primary">點(diǎn)我修改</el-button>
    </div>
</template>
<script lang="ts" setup>
import {onMounted, ref} from 'vue'
const pText1=ref()
const changeText=()=>{
    console.log(pText1.value)
    pText1.value.style.color='red'
    pText1.value.innerText='我是點(diǎn)擊后修改的文本值'
}
/*onMounted(()=>{
    console.log(pText1.value)
    pText1.value.style.color='red'
    pText1.value.innerText='我是修改后的文本值'
})*/
</script>

點(diǎn)擊按鈕前:

點(diǎn)擊按鈕后:

獲取后代子DOM元素,操作修改

<template>
    <div class="content" style="padding: 0 30px;">
        <h1>演示</h1>
        <p ref="pText1">這是ref為pText1的一段文本 <span>aaaaaaa</span></p>
    </div>
</template>
<script lang="ts" setup>
import {onMounted, ref} from 'vue'
const pText1=ref()
onMounted(()=>{
    //console.log(pText1)
    console.log(pText1.value.children[0].innerHTML)
    pText1.value.children[0].style.color='red';
    pText1.value.children[0].innerText='我是修改后的span的文本';
})
</script>

總之,想要獲取DOM元素屬性,可以先打印出來(lái),按需取值即可:

<template>
    <div class="content" style="padding: 0 30px;">
        <h1>演示</h1>
        <p ref="pText1">這是ref為pText1的一段文本 <span>aaaaaaa</span></p>
    </div>
</template>
<script lang="ts" setup>
import {onMounted, ref} from 'vue'
const pText1=ref()
onMounted(()=>{
    console.log(pText1)
})
</script>

到此這篇關(guān)于Vue3獲取和操作DOM元素的項(xiàng)目實(shí)踐的文章就介紹到這了,更多相關(guān)Vue3獲取和操作DOM內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 詳解在vue-cli中引用jQuery、bootstrap以及使用sass、less編寫(xiě)css

    詳解在vue-cli中引用jQuery、bootstrap以及使用sass、less編寫(xiě)css

    這篇文章主要介紹了詳解在vue-cli中引用jQuery、bootstrap以及使用sass、less編寫(xiě)css,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-11-11
  • ???????基于el-table和el-pagination實(shí)現(xiàn)數(shù)據(jù)的分頁(yè)效果

    ???????基于el-table和el-pagination實(shí)現(xiàn)數(shù)據(jù)的分頁(yè)效果

    本文主要介紹了???????基于el-table和el-pagination實(shí)現(xiàn)數(shù)據(jù)的分頁(yè)效果,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2022-08-08
  • VUE3中Element table表頭動(dòng)態(tài)展示合計(jì)信息

    VUE3中Element table表頭動(dòng)態(tài)展示合計(jì)信息

    本文主要介紹了在Vue中實(shí)現(xiàn)動(dòng)態(tài)合計(jì)兩個(gè)字段并輸出摘要信息的方法,通過(guò)使用監(jiān)聽(tīng)器和深度監(jiān)聽(tīng),確保當(dāng)數(shù)據(jù)變化時(shí)能正確更新合計(jì)結(jié)果,具有一定的參考價(jià)值,感興趣的可以了解一下
    2024-11-11
  • Vue 自定義指令詳解

    Vue 自定義指令詳解

    本文介紹了如何在Vue中定義和使用自定義指令,包括指令的注冊(cè)、鉤子函數(shù)、參數(shù)以及常見(jiàn)指令的封裝,如v-copy、v-longpress等,自定義指令在處理某些底層DOM操作時(shí)非常便捷,感興趣的朋友一起看看吧
    2025-01-01
  • Vue之ElementUI Form表單校驗(yàn)

    Vue之ElementUI Form表單校驗(yàn)

    這篇文章主要為大家詳細(xì)介紹了Vue之ElementUI Form表單校驗(yàn),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-08-08
  • vue父子組件動(dòng)態(tài)傳值的幾種方式及注意問(wèn)題詳解

    vue父子組件動(dòng)態(tài)傳值的幾種方式及注意問(wèn)題詳解

    這篇文章主要介紹了vue父子組件動(dòng)態(tài)傳值的幾種方式及注意問(wèn)題詳解,需要的朋友可以參考下
    2022-12-12
  • vue3使用拖拽組件draggable.next的保姆級(jí)教程

    vue3使用拖拽組件draggable.next的保姆級(jí)教程

    做項(xiàng)目的時(shí)候遇到了一個(gè)需求,拖拽按鈕到指定位置,添加一個(gè)輸入框,這篇文章主要給大家介紹了關(guān)于vue3使用拖拽組件draggable.next的保姆級(jí)教程,需要的朋友可以參考下
    2023-06-06
  • vue2結(jié)合element-ui的gantt圖實(shí)現(xiàn)可拖拽甘特圖

    vue2結(jié)合element-ui的gantt圖實(shí)現(xiàn)可拖拽甘特圖

    因?yàn)楣ぷ髦幸玫礁侍貓D,所以我在網(wǎng)上搜索可以用的甘特圖,搜索了好多,但是網(wǎng)上搜到大多數(shù)都很雞肋,不能直接使用,下面這篇文章主要給大家介紹了關(guān)于vue2結(jié)合element-ui的gantt圖實(shí)現(xiàn)可拖拽甘特圖的相關(guān)資料,需要的朋友可以參考下
    2022-11-11
  • Element Plus的el-icon怎么用

    Element Plus的el-icon怎么用

    在Element Plus里,Icon圖標(biāo)的用法和以前不一樣了,本文主要介紹了Element Plus的el-icon怎么用,具有一定的參考價(jià)值,感興趣的可以了解一下
    2022-04-04
  • Vue+Element-UI實(shí)現(xiàn)上傳圖片并壓縮

    Vue+Element-UI實(shí)現(xiàn)上傳圖片并壓縮

    這篇文章主要為大家詳細(xì)介紹了Vue+Element-UI實(shí)現(xiàn)上傳圖片并壓縮功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-11-11

最新評(píng)論