js(Dom+Bom)第一天(1)

JavaScript-DOM(BOM)操作

核心知識

  1. 獲取頁面元素
  2. 事件
  3. 設置樣式

學習目標

  1. 能夠使用id名,標簽名等方式獲取頁面中元素
  2. 能夠給標簽注冊點擊事件,并實現對應效果
  3. 能夠給標簽通過js方式設置樣式

JavaScript組成

ECMASCRIPT (基礎語法)

DOM(文檔對象模型)

BOM(瀏覽器對象模型)

DOM+BOM

  • 為啥要學DOM和BOM?

總結: 通過js中的DOM和BOM操作實現頁面中的一些用戶點擊效果等
注意:不要盲目的認為JS就是用來做網頁特效的。
  • 到底什么是DOM和BOM?

DOM: Document Object Model (文檔對象模型)    操作頁面元素
BOM: Browser Object Model (瀏覽器器對象模型)  操作瀏覽器

什么是文檔對象模型(DOM)?

  1. 概念部分理解

文檔:HTML文件(document)
對象:對具體事務的抽象【屬性+值】,將HTML抽象成對象總結:通過js操作html文檔中的標簽
  1. 文檔樹

將html文件中的標簽,屬性 等轉化為對象,按照標簽的關系以樹狀結構保存到內存中? 文檔樹中的元素: HTML標簽 + 屬性 + 內容信息 ? 文檔樹中的節點: 所有的內容都叫節點(文本節點,標簽節點,屬性節點)
  • 如何學習DOM和BOM?

掌握大量的方法(api),屬性。
  • 什么是API?
是一些預先定義的函數,目的是提供應用程序與開發人員基于某軟件或硬件得以訪問一組例程的能力例如:
Math.max() ...

3.獲取頁面中的元素

在這里插入圖片描述

4.事件

什么是事件?
事件指的是一種行為動作: 比如 單擊,雙擊,手指按壓,滑動,移動,懸停。。。
事件三要素
        事件源: 頁面中的一個具體的標簽事件類型: 行為動作(單擊,雙擊,懸停,滑動。。。) 事件處理程序: 事件發生后的一個結果
事件語法
  事件源.事件類型 = 事件處理程序注意:事件處理程序的本質就是一個函數。
事件類型:
  • 單擊onclick
  • 雙擊ondblclick
事件處理程序中的this關鍵字
 函數中的this指向的是外部構造函數指向的對象。事件處理程序中的this指向的是當前事件源

5.操作元素中的屬性

  • src屬性【案例:換圖片】

dom.src :  獲取圖片路徑    ----> 絕對路徑
dom.alt:   獲取圖片描述信息備注:dom 指的是通過js獲取的頁面中元素
  • className【案例:動畫效果】

//獲取對象的類名
dom.className//給對象添加類名
dom.className = '類名'注意:
1.通過className給元素添加類名會將原來的類名覆蓋掉
2.如果要保證原來的類名依然存在,可以使用拼接字符串的方式
3.去掉類名,賦值為空字符串即可
  • innerText 和 innerHTML【案例:設置文字】

//獲取方式
通過innerText獲取,僅僅包含文本
通過innerHTML獲取,若有子標簽時,會包含文本和子標簽備注:1. 在老版本火狐瀏覽器中不支持innerText2. 在老版本火狐瀏覽器中使用textContent設置獲取標簽內容信息3. 2016年將innerText正式納入標準屬性//設置結果
通過innerText設置,若設置中包含了子標簽,該標簽不會被渲染而是當做普通文本顯示
通過innerHTML設置,若設置中包含了子標簽,該標簽會被渲染顯示
  • textContent和 innerText

相同點:相同點:獲取的都是文本,將html標簽過濾掉不同點:
textContent在獲取內容的時候,將空格和換行效果都顯示
innerText 在獲取內容的時候,沒有空格和換行效果處理兼容性問題:
1.如果元素支持某個屬性,那么會返回該屬性的類型
2.如果元素不支持某個屬性,那么會返回undefined類型
例如:<div id="one"></div>console.log(typeof div.a);  //undefinedconsole.log(typeof div.id); //string
  • 取消a標簽默認跳轉行為[擴展]
方式1:事件處理程序中最后設置return false; <a id="link" href="https://www.baidu.com">點擊</a>
<script>
var link = document.getElementById('link');
link.onclick = function(){
alert('你好');
// 方式1:取消a點擊后的默認跳轉行為 return false;
return false;
};
</script>方式2:設置a標簽的href屬性值為:javascript: 
<a href="javascript:">點擊2</a>
備注:給a標簽的herf值設置javascript: ,表示將來點擊a時,會阻止默認跳轉行為,并且僅僅會執行js代碼

1:取消a點擊后的默認跳轉行為 return false;

return false;
};

方式2:設置a標簽的href屬性值為:javascript:
點擊2
備注:
給a標簽的herf值設置javascript: ,表示將來點擊a時,會阻止默認跳轉行為,并且僅僅會執行js代碼


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

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

相關文章

[HZNOI #koishi] Magic

[HZNOI #514] Magic 題意 給定一個 \(n\) 個點 \(m\) 條邊的有向圖, 每個點有兩個權值 \(a_i\) 和 \(b_i\), 可以以 \(b_i\) 的花費把第 \(i\) 個點的 \(a_i\) 變成 \(0\). 最后每個點 \(i\) 產生的花費為所有從 \(i\) 出發能通過一條有向邊直接到達的點 \(j\) 的 \(a_j\) 的 \…

同步與異步

同步&#xff1a; 做完一件事&#xff0c;再做另一件 煮好水&#xff0c;再拆泡面包裝 異步&#xff1a; 可以同時做好幾個任務 燒水&#xff0c;打開火之后&#xff0c;先去拆泡面包裝&#xff0c;等水開了&#xff0c;再停下拆包裝&#xff0c;去關掉火。。。。。 轉載于:htt…

js(Dom+Bom)第一天(2)

webAPI 00-復習 內置對象中的方法 01-JavaScript組成 知識點-ECMASCRIPT 重點回顧 存儲容器 變量數組對象 邏輯語法 分支語句循環語句switch語句 知識點-BOM 概念 Browser Object Model (瀏覽器器對象模型) 操作瀏覽器將瀏覽器看做是一個對象.作用 通過js操作瀏覽器中相…

mysql 主主復制的配置流程

1、先關閉B&#xff0c;把A的數據導出來&#xff0c;mysqldump -hlocalhost -uroot -p123456 --database ibprpu >ibprpu.sql2、關閉A&#xff0c;啟動B&#xff0c;進入mysql建立一個新的數據庫 create database ibprpu3、導入數據庫 mysql -hlocalhost -uroot -p123456 &l…

華為架構師8年經驗談:從單體架構到微服務的服務化演進之路

本次分享的技術大綱如下&#xff1a; 傳統應用開發面臨的挑戰服務化實踐服務化不是銀彈服務化架構的演進方向一 、傳統應用開發面臨的挑戰 挑戰1-- 研發成本高 主要體現在如下幾個方面&#xff1a; 代碼重復率高在實際項目分工時&#xff0c;開發都是各自負責幾個功能&#xff…

輪播圖制作(1)

輪播圖制作 <body><div><img src"img/1.jpg" class"imgs" alt""><a href"#" class"left"><</a> //此處的箭頭也可以用圖標做出來<a href"#" class"right">>…

StringUtils工具類的常用方法

StringUtils 方法的操作對象是 java.lang.String 類型的對象&#xff0c;是 JDK 提供的 String 類型操作方法的補充&#xff0c;并且是 null 安全的(即如果輸入參數 String 為 null 則不會拋出 NullPointerException &#xff0c;而是做了相應處理&#xff0c;例如&#xff0c…

struts2+extjs文件上傳完整實現(攻克了上傳中的各種問題)

版權聲明&#xff1a;本文為博主原創文章。未經博主同意不得轉載。 https://blog.csdn.net/shanhuhau/article/details/28617999 首先須要引入上傳控件 <script type"text/javascript" src"<%basePath%>/js/ext/examples/ux/fileuploadfield/FileUploa…

放大鏡制作(1)

放大鏡制作 <div class"box" id"box"><!--左側的盒子--><div class"small"><!--圖片--><img src"images/big.jpg" width"350" class"aaa" alt""/><!--黃色小盒子--&…

.NET Framework 2.0 組件和非托管代碼與交互操作詳解(轉)

.NET Framework 將促進與 COM 組件、COM 服務、外部類型庫和許多操作系統服務的交互操作。在托管和非托管對象模型之間&#xff0c;數據類型、方法簽名和錯誤處理機制都存在差異。為了簡化 .NET Framework 組件和非托管代碼之間的互用并便于進行移植&#xff0c;公共語言運行時…

git 刪除遠程分支和本地分支

刪除遠程分支和本地分支 https://www.cnblogs.com/luosongchao/p/3408365.html 將遠程git倉庫里的指定分支拉取到本地&#xff08;本地不存在的分支&#xff09; https://www.cnblogs.com/hamsterPP/p/6810831.html 轉載于:https://www.cnblogs.com/mafeng/p/10619419.html

從零開始實現ASP.NET Core MVC的插件式開發(四) - 插件安裝

標題&#xff1a;從零開始實現ASP.NET Core MVC的插件式開發(四) - 插件安裝 作者&#xff1a;Lamond Lu 地址&#xff1a;https://www.cnblogs.com/lwqlun/p/11343141.html 源代碼&#xff1a;https://github.com/lamondlu/Mystique 前情回顧 從零開始實現ASP.NET Core MVC的插…

立體導航翻轉案例

<div class"box"><!-- 立方體 --><ul><li><img src"img1/1.jpg" alt""></li><li><img src"img1/2.jpg" alt""></li><li><img src"img1/3.jpg" a…

Uncontrolled memory mapping in camera driver (CVE-2013-2595)

版權聲明&#xff1a;本文為博主原創文章&#xff0c;未經博主同意不得轉載。https://blog.csdn.net/hu3167343/article/details/34434235 /* 本文章由 莫灰灰 編寫&#xff0c;轉載請注明出處。 作者&#xff1a;莫灰灰 郵箱&#xff1a; minzhenfei163.com */ 1漏洞描寫…

表格隔行變色

<body><table border"0" align"center" cellspacing"1" cellpadding"0"><caption>恭喜發財</caption><thead><tr><th>代碼</th><th>名稱</th><th>最新公布凈值<…

啟動Cognos時報0106錯誤

1. 問題描述 啟動Cognos失敗&#xff0c;報錯代碼為0106。 2. 問題分析 是jdk版本不兼容。 3. 解決方案 方案一&#xff1a;更換jdk1.6&#xff0c;可以使用免安裝版&#xff0c;不需要卸載原有的jdk將java_home的路徑替換成jdk1.6的路徑。 方案二&#xff1a;使用Cognos自帶jd…

項目管理的測試版發布

最近有時間將以前沒有寫完的項目管理程序進一步完善&#xff0c;加入了項目任務之間的關連。功能&#xff1a;1、任務的關連Start to finishStart to startFinish to startFinish to finish2、任務關連表環路檢測3、采用MVC模式進行開發4、自動導出XML5、雙擊連接線可以設置、刪…

劍指offer.機器人的運動范圍

地上有一個 m 行和 n 列的方格&#xff0c;橫縱坐標范圍分別是 0~m?1 和 0~~n?1。一個機器人從坐標0,0的格子開始移動&#xff0c;每一次只能向左&#xff0c;右&#xff0c;上&#xff0c;下四個方向移動一格。但是不能進入行坐標和列坐標的數位之和大于 kk 的格子。請問…

Tab欄切換布局分析

<body><div class"tab"><div class"tab_list"><ul><li class"current">商品介紹</li><li>規格與包裝</li><li>售后包裝</li><li>商品評價(50000)</li><li>手機社…

CLR基礎,CLR運行過程,使用dos命令創建、編譯、運行C#文件,查看IL代碼

CLR是Common Language Runtime的縮寫&#xff0c;是.NET程序集或可執行程序運行的一個虛擬環境。CLR用于管理托管代碼&#xff0c;但是它本身是由非托管代碼編寫的&#xff0c;并不是一個包含了托管代碼的程序集&#xff0c;所以不能使用IL DASM進行查看&#xff0c;但CLR以dll…