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

Vue3獲取和操作DOM元素的項目實踐

 更新時間:2023年08月10日 10:17:21   作者:鍵指江湖  
在Vue3中,有時我們需要直接操作DOM節(jié)點,本文主要介紹了Vue3獲取和操作DOM元素的項目實踐,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(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)此時定義的 pText1 打印的值是undefined,這個情況發(fā)生原因是未真正獲取到DOM元素,并不是我們定義的 const pText1=ref() 里面是空的問題。于是在生命鉤子里面執(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>

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

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

再改個文本值看看

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

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

<template>
    <div class="content" style="padding: 0 30px;">
        <h1>演示</h1>
        <p ref="pText1">這是ref為pText1的一段文本</p>
        <el-button @click="changeText" type="primary">點我修改</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='我是點擊后修改的文本值'
}
/*onMounted(()=>{
    console.log(pText1.value)
    pText1.value.style.color='red'
    pText1.value.innerText='我是修改后的文本值'
})*/
</script>

點擊按鈕前:

點擊按鈕后:

獲取后代子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元素屬性,可以先打印出來,按需取值即可:

<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元素的項目實踐的文章就介紹到這了,更多相關(guān)Vue3獲取和操作DOM內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

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

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

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

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

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

    VUE3中Element table表頭動態(tài)展示合計信息

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

    Vue 自定義指令詳解

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

    Vue之ElementUI Form表單校驗

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

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

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

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

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

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

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

    Element Plus的el-icon怎么用

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

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

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

最新評論