【JavaScript】合體期功法——DOM(一)

目錄

  • DOM
    • Web API 基本概念
      • 作用和分類
    • 什么是 DOM
    • DOM 樹
      • DOM 對象
    • 獲取 DOM 元素
      • 根據 CSS 選擇器來獲取 DOM 元素
        • 選擇匹配的第一個元素
        • 選擇匹配的多個元素
      • 其他獲取 DOM 元素方法
    • 修改元素的內容
      • 對象.innerText 屬性
      • 對象.innerHTML 屬性
      • 案例:年會抽獎
    • 修改元素屬性
      • 修改元素常用屬性
      • 修改元素樣式屬性
        • 通過 style 屬性操作 CSS
        • 利用 className 操作 CSS
        • 通過 classList 操作類以控制 CSS
      • 案例:輪播圖(初級)

DOM

Web API 基本概念

作用和分類

作用:使用 JavaScript 去操作 html 和瀏覽器

分類:DOM(文檔對象模型)、BOM(瀏覽器對象模型)

什么是 DOM

DOM 定義:DOM(Document Object Model—— 文檔對象模型)是用來呈現以及與任意 HTML 或 XML 文檔交互的 API

白話文解釋:DOM 是瀏覽器提供的一套專門用來操作網頁內容的功能

DOM 作用:開發網頁內容特效、實現用戶交互

DOM 樹

DOM 樹定義:將 HTML 文檔以樹狀結構直觀表現出來,稱為文檔樹或 DOM 樹

性質:描述網頁內容關系的名詞

作用:直觀體現標簽與標簽之間的關系

在這里插入圖片描述

DOM 對象

DOM 對象

  • 瀏覽器根據 HTML 標簽生成的 JS 對象
  • 所有標簽屬性均可在該對象上找到,修改對象屬性會自動映射到標簽

DOM 的核心思想:將網頁內容當作對象來處理

document 對象

  • 是 DOM 提供的對象,其屬性和方法用于訪問、操作網頁內容(如 document.write()
  • 網頁所有內容都包含在 document

獲取 DOM 元素

根據 CSS 選擇器來獲取 DOM 元素

選擇匹配的第一個元素

語法:

document.querySelector('CSS選擇器')

代碼示例:

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title><link rel="shortcut icon" href="#" /><style>.box{width: 100px;height: 100px;}</style>
</head>
<body><div class="box">123</div><div class="box">abc</div><p id="nav">導航欄</p><script>const box1 = document.querySelector('div');console.dir(box1);const box2 = document.querySelector('.box');console.dir(box2);const nav = document.querySelector('#nav');console.dir(nav);</script>
</body>
</html>

結果如下:

屏幕錄制 2025-03-28 173922

注意事項:

  • 參數:包含一個或多個有效的 CSS 選擇器字符串
  • 返回值:CSS 選擇器匹配的第一個元素,一個 HTMLElement 對象;如如果沒有匹配到,則返回 null
選擇匹配的多個元素

語法:

document.querySelectorAll('CSS選擇器')

代碼示例:

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title><link rel="shortcut icon" href="#" /><style>.box{width: 100px;height: 100px;}</style>
</head>
<body><div class="box">123</div><div class="box">abc</div><ul><li></li><li></li><li></li><li></li><li></li></ul><script>const box = document.querySelectorAll('div');console.dir(box);const lis = document.querySelectorAll('ul li');console.dir(lis);</script>
</body>
</html>

結果如下:

在這里插入圖片描述

注意事項:

  • 參數:包含一個或多個有效的 CSS 選擇器字符串
  • 返回值:CSS 選擇器匹配的 NodeList 對象集合
  • 得到一個偽數組:
    • 有長度有索引號的數組
    • 但是沒有 pop()、push() 等數組方法
    • 想要得到里面的每一個對象,則需遍歷獲得
  • 就算只有一個元素,querySelectorAll() 獲取的也是一個偽數組

代碼示例:

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title><link rel="shortcut icon" href="#" /><style>.box{width: 100px;height: 100px;}</style>
</head>
<body><ul class="nav"><li>111</li><li>222</li><li>333</li><li>444</li><li>555</li></ul><script>const lis = document.querySelectorAll('.nav li');console.dir(lis);for(let i = 0; i < lis.length; i++){console.dir(lis[i]); }</script>
</body>
</html>

結果如下:

在這里插入圖片描述

其他獲取 DOM 元素方法

根據 id 獲取一個元素

document.getElementById('id選擇器')

根據標簽獲取一類元素,獲取所有 div

document.getElementsByTagName('div')

根據類名獲取元素,獲取頁面所有類名為 w 的

document.getElementsByClassName('w')

修改元素的內容

對象.innerText 屬性

將文本內容添加/更新到任意標簽位置

顯示純文本,不解析標簽

代碼示例:

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title>
</head>
<body><span class="info">看客老爺真的很帥</span><script>const info = document.querySelector('.info')// 獲取標簽內部的文字內容console.log(info.innerText)// 修改標簽內部的文字內容info.innerText = '看客老爺不是一般的帥'   console.log(info.innerText)// 不會解析標簽info.innerText = '<h1>看客老爺</h1>'console.log(info.innerText)</script>
</body>
</html>

結果如下:

在這里插入圖片描述

對象.innerHTML 屬性

將文本內容添加/更新到任意標簽位置

會解析標簽,多標簽建議使用模板字符

代碼示例:

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title>
</head>
<body><span class="info">看客老爺真的很帥</span><script>const info = document.querySelector('.info')// 獲取標簽內部的文字內容console.log(info.innerHTML)// 修改標簽內部的文字內容info.innerHTML = '看客老爺不是一般的帥'   console.log(info.innerHTML)// 會解析標簽info.innerHTML = '<h1>看客老爺</h1>'console.log(info.innerHTML)</script>
</body>
</html>

結果如下:

在這里插入圖片描述

案例:年會抽獎

代碼示例:

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title><style>.wrapper {width: 840px;height: 420px;background: url(./img/1.jpg) no-repeat center / cover;padding : 100px 250px;box-sizing: border-box;}</style>
</head>
<body><div class="wrapper"><strong>年會抽獎</strong><h1>一等獎:<span id="one">???</span></h1><h2>二等獎:<span id="two">???</span></h2><h3>三等獎:<span id="three">???</span></h3></div><script>const person = ['Jack','Tom','Jerry','Mary','Mike','Lily','Rose'];const prizeIds = ['one', 'two', 'three'];// 使用 for 循環來簡化代碼for (let i = 0; i < prizeIds.length; i++) {const random = Math.floor(Math.random() * person.length);const prizeElement = document.querySelector(`#${prizeIds[i]}`);prizeElement.innerHTML = person[random];person.splice(random, 1);}</script>
</body>
</html>

結果如下:

在這里插入圖片描述

修改元素屬性

修改元素常用屬性

可通過 JS 設置 / 修改標簽元素屬性,例如利用 src 更換圖片。

常見屬性:hreftitlesrc 等。

語法:對象.屬性 = 值

代碼示例:

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title>
</head>
<body><img src="./img/1.png" alt=""><script>// 獲取圖片const img = document.querySelector('img')// 修改圖片對象的src屬性img.src = './img/2.png'// 修改圖片的title屬性img.title = '這是第二張圖片'</script>
</body>
</html>

結果如下:

在這里插入圖片描述

修改元素樣式屬性

可通過 JS 設置 / 修改標簽元素樣式屬性

  • 例如輪播圖小圓點自動更換顏色樣式
  • 點擊按鈕滾動圖片(涉及圖片位置 left 等樣式調整)
通過 style 屬性操作 CSS

語法:對象.style.樣式屬性 = '值'

代碼示例:

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title><style>.box {width: 200px;height: 200px;background-color: black; }</style>
</head>
<body><div class="box"></div><script>const box = document.querySelector('.box');// 修改樣式屬性box.style.width = '300px';box.style.height = '100px';box.style.backgroundColor = 'red';box.style.borderRadius = '50px'box.style.border = '10px solid black'</script>
</body>
</html>

結果如下:

在這里插入圖片描述

注意事項:

  • 修改樣式通過 style 屬性引出
  • 如果屬性有 - 連接符,需要轉換為小駝峰命名法
  • 賦值的時候,不要忘記加 CSS 單位
利用 className 操作 CSS

場景:修改樣式較多時,借助 CSS 類名比直接通過 style 屬性修改更便捷

語法元素.className = '類名'(示例:active 為 CSS 類名時,元素.className = 'active'

代碼示例:

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title><style>div {width: 200px;height: 200px;background-color: black; }.box{width: 300px;height: 100px;background-color: red;border-radius: 50px;border: 10px solid black;}</style>
</head>
<body><div></div><script>const div = document.querySelector('div')div.className = 'box'</script>
</body>
</html>

結果如下:

在這里插入圖片描述

注意事項:

  • class 是關鍵字,故使用 className 代替
  • className 會用新值替換舊值,若需添加類,需保留原有類名
通過 classList 操作類以控制 CSS

目的:為解決 className 易覆蓋原有類名的問題,可通過 classList 追加或刪除類名

語法:

  • 追加類:元素.classList.add('類名')
  • 刪除類:元素.classList.remove('類名')
  • 切換類:元素.classList.toggle('類名')

代碼示例:

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title><style>.box {width: 200px;height: 200px;background-color: pink; text-align: center;}.first {width: 300px;height: 100px;}.second {background-color: red;border-radius: 50px;border: 10px solid black;}.third {font-size: 80px;}.forth {background-color: skyblue;/* 文字垂直居中 */line-height: 200px;}</style>
</head>
<body><div class="box">abcd</div><script>// 獲取元素const box = document.querySelector('.box')// 添加類名box.classList.add('first','second','third')// 刪除類名box.classList.remove('first')// 切換類名 —— 如果類名存在則刪除,不存在則添加box.classList.toggle('forth')</script>
</body>
</html>

結果如下:

在這里插入圖片描述

案例:輪播圖(初級)

代碼示例:

<!DOCTYPE html>
<!-- 聲明 HTML 文檔的語言為英語 -->
<html lang="en">
<head><!-- 設置文檔的字符編碼為 UTF-8 --><meta charset="UTF-8"><!-- 配置頁面在不同設備上的視圖 --><meta name="viewport" content="width=device-width, initial-scale=1.0"><!-- 設置頁面的標題 --><title>Document</title><style>/* 全局設置,將所有元素的盒模型設置為 border-box */* {box-sizing: border-box;}/* 輪播圖容器樣式 */.slider {width: 280px;height: 400px;/* 隱藏超出容器的內容 */overflow: hidden;}/* 輪播圖圖片包裝器樣式 */.slider-wrapper {width: 100%;height: 320px;}/* 輪播圖圖片樣式 */.slider-wrapper img {width: 100%;height: 100%;/* 將圖片顯示為塊級元素 */display: block;}/* 輪播圖底部區域樣式 */.slider-footer {height: 80px;background-color: rgb(100, 67, 68);/* 設置內邊距,下、左、右內邊距為 12px */padding: 12px 12px 12px;/* 相對定位,為子元素的絕對定位提供參考 */position: relative;}/* 輪播圖切換按鈕容器樣式 */.slider-footer .toggle {/* 絕對定位,位于父元素的右上角 */position: absolute;right: 0;top: 12px;/* 使用 flex 布局 */display: flex;}/* 輪播圖切換按鈕樣式 */.slider-footer .toggle button {margin-right: 12px;width: 28px;height: 28px;/* 去除瀏覽器默認樣式 */appearance: none;border: none;background: rgba(255, 255, 255, 0.1);color: #fff;border-radius: 4px;/* 鼠標懸停時顯示指針樣式 */cursor: pointer;}/* 輪播圖切換按鈕懸停樣式 */.slider-footer .toggle button:hover {background: rgba(255, 255, 255, 0.2);}/* 輪播圖底部區域文字樣式 */.slider-footer p {margin: 0;color: #fff;font-size: 18px;margin-bottom: 10px;}/* 輪播圖指示器列表樣式 */.slider-indicator {margin: 0;padding: 0;/* 去除列表默認樣式 */list-style: none;/* 使用 flex 布局,垂直居中對齊 */display: flex;align-items: center;}/* 輪播圖指示器列表項樣式 */.slider-indicator li {width: 8px;height: 8px;margin: 4px;border-radius: 50%;background: #fff;/* 設置透明度 */opacity: 0.4;cursor: pointer;}/* 激活狀態的輪播圖指示器列表項樣式 */.slider-indicator li.active {width: 12px;height: 12px;/* 不透明 */opacity: 1;}</style>
</head>
<body><!-- 輪播圖容器 --><div class="slider"><!-- 輪播圖圖片包裝器 --><div class="slider-wrapper"><!-- 輪播圖初始圖片 --><img src="./img/1.png" alt=""></div><!-- 輪播圖底部區域 --><div class="slider-footer"><!-- 顯示輪播圖名稱的段落 --><p>假面騎士空我</p><!-- 輪播圖指示器列表 --><ul class="slider-indicator"><!-- 指示器列表項 --><li></li><li></li><li></li><li></li><li></li></ul><!-- 輪播圖切換按鈕容器 --><div class="toggle"><!-- 上一張圖片按鈕 --><button class="prev">&lt;</button><!-- 下一張圖片按鈕 --><button class="next">&gt;</button></div></div></div><script>// 定義輪播圖數據數組,包含圖片路徑、名稱和對應的背景顏色let data = [{src:'./img/1.png',name:'假面騎士空我',color: 'rgb(100, 67, 68)'},{src:'./img/2.png',name:'假面騎士亞極陀',color: 'rgb(100, 67, 68)'},{src:'./img/3.png',name:'假面騎士龍騎',color: 'rgb(100, 67, 68)'},{src:'./img/4.png',name:'假面騎士555',color: 'rgb(100, 67, 68)'},{src:'./img/5.png',name:'假面騎士劍',color: 'rgb(100, 67, 68)'}]// 生成一個隨機數,用于隨機選擇輪播圖數據數組中的一項const random = Math.floor(Math.random() * data.length)// 獲取輪播圖圖片元素const img = document.querySelector('.slider-wrapper img')// 修改圖片的 src 屬性,顯示隨機選擇的圖片img.src = data[random].src// 獲取輪播圖底部區域的段落元素const p = document.querySelector('.slider-footer p')// 修改段落的內容,顯示隨機選擇的輪播圖名稱p.innerHTML = data[random].name// 獲取輪播圖底部區域元素const footer = document.querySelector('.slider-footer')// 修改底部區域的背景顏色,使用隨機選擇的顏色footer.style.backgroundColor = data[random].color// 獲取對應的輪播圖指示器列表項const li = document.querySelector(`.slider-indicator li:nth-child(${random + 1})`)// 為選中的指示器列表項添加 active 類,改變其樣式li.classList.add('active')</script>
</body>
</html>

結果如下:

屏幕錄制 2025-03-29 222527

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/bicheng/74914.shtml
繁體地址,請注明出處:http://hk.pswp.cn/bicheng/74914.shtml
英文地址,請注明出處:http://en.pswp.cn/bicheng/74914.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

GAMMA數據處理(十)

今天向別人請教了一個問題&#xff0c;剛無意中搜索到了一模一樣的問題 不知道這個怎么解決... ok 解決了 有一個GAMMA的命令可轉換 但是很奇怪 完全對不上 轉換出來的行列號 不知道為啥 再試試 是因為經緯度坐標的小數點位數 de as

Java入門知識總結——章節(二)

ps&#xff1a;本章主要講數組、二維數組、變量 一、數組 數組是一個數據容器&#xff0c;可用來存儲一批同類型的數據 &#x1f511;&#xff1a;注意 類也可以是一個類的數組 public class Main {public static class Student {String name;int age; // 移除 unsignedint…

動態IP:網絡世界的“變色龍”如何改變你的在線體驗?

你知道嗎&#xff1f;有時候我覺得動態IP就像是網絡世界里的“變色龍”。它不像靜態IP那樣一成不變&#xff0c;而是隨時在變化&#xff0c;像是一個永遠在換衣服的演員。你永遠不知道它下一秒會變成什么樣子&#xff0c;但正是這種不確定性&#xff0c;讓它變得特別有趣。想象…

從24GHz到71GHz:Sivers半導體的廣泛頻率范圍5G毫米波產品解析

在5G技術的浪潮中&#xff0c;Sivers半導體推出了創新的毫米波無線產品&#xff0c;為通信行業帶來高效、可靠的解決方案。這些產品支持從24GHz到71GHz的頻率&#xff0c;覆蓋許可與非許可頻段&#xff0c;適應高速、低延遲的通信場景。 5G通信頻段的一點事兒及Sivers毫米波射頻…

aocache:AOCache 新增功能深度解析:從性能監控到靈活配置的全方位升級

最近對aocache 進行了重要升級&#xff0c;最新版本0.6.0增加了幾項新功能&#xff1a;性能分析日志&#xff0c;AOCache性能分析工具&#xff0c;切入點自定義配置&#xff0c;全局配置&#xff0c;本文詳細說明這幾項目新功能的作用和使用方式。 一、性能分析日志 需求背景…

Java EE 進階:MyBatis-plus

MyBatis-plus的介紹 MyBatis-plus是MyBatis的增強工具&#xff0c;在MyBatis的基礎上做出加強&#xff0c;只要MyBatis有的功能MyBatis-plus都有。 MyBatis-plus的上手 添加依賴 在我們創建項目的時候&#xff0c;我們需要添加MyBatis-plus和mysql的依賴 MyBatis-plus的依賴…

GitHub和Gitee上的一些AI項目

以下是GitHub和Gitee上的一些AI項目&#xff1a; GitHub上的AI項目 TensorFlow&#xff1a;一個端到端開源機器學習平臺&#xff0c;包含大量工具和庫&#xff0c;廣泛應用于圖像識別、自然語言處理等領域。PyTorch&#xff1a;由Facebook開發的開源深度學習框架&#xff0c;…

JavaScript網頁設計高級案例:構建交互式圖片畫廊

JavaScript網頁設計高級案例&#xff1a;構建交互式圖片畫廊 在現代Web開發中&#xff0c;交互式元素已成為提升用戶體驗的關鍵因素。本文將通過一個高級案例 - 構建交互式圖片畫廊&#xff0c;展示如何結合HTML和JavaScript創建引人入勝的網頁應用。這個案例不僅涵蓋了基礎的…

Linux命令大全:從入門到高效運維

適合人群&#xff1a;Linux新手 | 運維工程師 | 開發者 目錄 一、Linux常用命令&#xff08;每天必用&#xff09; 1. 文件與目錄操作 2. 文件內容查看與編輯 二、次常用命令&#xff08;按需使用&#xff09; 1. 系統管理與監控 2. 網絡與通信 3. 權限與用戶管理 三、…

Windows 10/11 使用 VSCode + SSH 免密遠程連接 Ubuntu 服務器(指定端口)

摘要&#xff1a; 本文詳細介紹如何在 Windows 系統上通過 VSCode Remote-SSH 免密登錄遠程 Ubuntu 服務器&#xff08;SSH 端口 2202&#xff09;&#xff0c;避免每次輸入密碼的繁瑣操作&#xff0c;提高開發效率。 1. 環境準備 本地系統&#xff1a;Windows 10/11遠程服務…

一些需要學習的C++庫:CGAL和Eysshot

寫在前面&#xff1a; 從開始工作到現在&#xff0c;去過多家公司&#xff0c;多個行業&#xff0c; 雖然大部分時間在通信業&#xff0c;但也有其它的行業的工作沒有做完&#xff0c;但也很感興趣。每次想要研究一下時&#xff0c;總是想不起來。 這里寫一些信息&#xff0c;…

藍橋杯16天刷題計劃一一Day01

藍橋杯16天刷題計劃一一Day01&#xff08;STL練習&#xff09; 作者&#xff1a;blue 時間&#xff1a;2025.3.26 文章目錄 藍橋杯16天刷題計劃一一Day01&#xff08;STL練習&#xff09;[P1540 [NOIP 2010 提高組\] 機器翻譯 - 洛谷 (luogu.com.cn)](https://www.luogu.com.…

相對位置2d矩陣和kron運算的思考

文章目錄 1. 相對位置矩陣2d2. kron運算 1. 相對位置矩陣2d 在swin-transformer中&#xff0c;我們會計算每個patch之間的相對位置&#xff0c;那么我們看到有一連串的拉伸和相減&#xff0c;直接貼代碼&#xff1a; import torch import torch.nn as nntorch.set_printoptio…

Redis 版本演進及主要新特性

Redis 版本發布歷史 穩定版本時間線 Redis 2.6 (2012年)Redis 2.8 (2013年11月)Redis 3.0 (2015年4月) - 首次支持集群Redis 3.2 (2016年5月)Redis 4.0 (2017年7月)Redis 5.0 (2018年10月)Redis 6.0 (2020年4月)Redis 6.2 (2021年2月)Redis 7.0 (2022年4月) - 最新穩定版(截至…

HTML5 Geolocation(地理定位)學習筆記

一、HTML5 Geolocation簡介 HTML5 Geolocation&#xff08;地理定位&#xff09;API用于獲取用戶的地理位置信息。通過這個API&#xff0c;可以獲取用戶的緯度、經度、海拔等信息。由于地理定位可能涉及用戶隱私&#xff0c;因此只有在用戶同意的情況下&#xff0c;才能獲取其…

愛普生VG3225EFN壓控晶振5G基站低噪聲的解決方案

在 5G 通信網絡的高速發展中&#xff0c;系統噪聲的控制成為保障網絡可靠性與數據吞吐量的關鍵。愛普生 VG3225EFN 壓控晶振憑借其卓越的低噪聲特性&#xff0c;成為 5G 基站時鐘系統的理想選擇。通過創新的技術設計&#xff0c;這款晶振不僅為基站提供了穩定的時鐘基準&#x…

【問題解決】Linux安裝conda修改~/.bashrc配置文件后,root 用戶下顯示 -bash-4.2#

問題描述 在Linux安裝conda下的python環境時候&#xff0c;修改了~/.bashrc文件&#xff0c;修改完成后&#xff0c;再次進入服務器后&#xff0c;登錄時候顯示的不是正常的[rootlocalhost ~]#&#xff0c;而是-bash-4.2# 原因分析&#xff1a; 網上原因有&#xff1a;/root下…

機器學習knnlearn5

import numpy as np from os import listdir from sklearn.neighbors import KNeighborsClassifier as kNN# 此函數用于將一個32x32的文本文件轉換為一個1x1024的一維向量 def img2vector(filename):"""將32x32的文本文件轉換為1x1024的向量:param filename: 要…

git revert 用法實戰:撤銷一個 commit 或 merge

git revert 1 區別 ? 常規的 commit &#xff08;使用 git commit 提交的 commit&#xff09; ? merge commit 2 首先構建場景 master上的代碼 dev開發分支上&#xff0c;添加一個a標簽&#xff0c;并commit這次提交 切到master上&#xff0c;再次進行改動和提交 將de…

自然語言處理|高效法律助手:AI如何解析合同條款?

引言&#xff1a;法律 AI 的崛起 在數字化浪潮快速發展的今天&#xff0c;人工智能&#xff08;AI&#xff09;已不再是一個陌生的概念&#xff0c;它正以快速發展滲透到各個領域&#xff0c;法律行業也不例外。從智能合同審查到法律風險預測&#xff0c;AI 技術為法律工作帶來…