1. 程式人生 > >JavaScript DOM(一)--頁面載入完成事件與獲取元素節點

JavaScript DOM(一)--頁面載入完成事件與獲取元素節點

window.onload與$(document).ready()比較

比較項\js or jQuery window.onload $(document).ready()
執行時機 需要等到網頁中所有內容載入完成後執行(包括圖片) 網頁中DOM結構繪製完成後執行
編寫個數 不能同時編寫多個 可以同時編寫執行多個
簡化寫法 (document).ready(function())(function(){})

注:
如果在body上監聽了onload事件,window.onload事件將不再觸發。

<!doctype html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>jQuery ready與js onload</title>
    <script type="text/javascript" src="../js/jquery-3.2.1.js"></script>
    <script type="text/javascript">
        console.log('begin.time:'
, Date.now()); window.onload = function () { console.log('js onload', Date.now()); }; $(function () { console.log('jQuery ready', Date.now()); });
</script> </head> <body onload="console.log('body.onload')"> <img src="http://www.baidu.com/img/baidu_jgylogo3.gif"
/>
</body> </html>

獲取元素節點

js DOM獲取節點一共有四個方法,分別是:

document.getElementsByTagName('div');
document.getElementById('wrapper');
document.getElementsByClassName('outer');
document.getElementsByName('myDiv');

其對應的jQuery寫法如下所示:

$('div');
$('#wrapper');
$('.outer');
$('[name=myDiv]')

完整程式碼如下所示

<!doctype html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
    <script type="text/javascript" src="../js/jquery-3.2.1.js"></script>
    <script type="text/javascript">
        $(function () {
            // 標籤選擇器
            console.log($('div'));
            console.log(document.getElementsByTagName('div'));
            // ID選擇器
            console.log($('#wrapper'));
            console.log(document.getElementById('wrapper'));
            // 類選擇器
            console.log($('.outer'));
            console.log(document.getElementsByClassName('outer'));
            // 獲取name
            console.log($('[name=myDiv]'));
            console.log(document.getElementsByName('myDiv'));
                        // 選擇器可以混合使用
                        console.log(document.getElementById('wrapper').getElementsByTagName('div'));
                        console.log(document.getElementById('wrapper').getElementsByClassName('outer'));
        });
    </script>
</head>
<body>
<div id="wrapper" class="outer">
    <div name="myDiv" class="outer">
        <div>這是被div包裹的文字</div>
        <p name="myDiv">這是被p標籤包裹的文字</p>
    </div>
</div>
</body>
</html>

注:
1.document.getElementsByName主要用在表單中,和input等結合使用。
2.document.getElementsByName有一定的相容性問題,主要集中在ie以及Firefox中,使用中請注意相容性問題。
3.getElementsByTagName允許把一個萬用字元作為他的引數,比如 *
4.getElementById可以和getElementsByTagName以及getElementsByClassName通用,但是getElementById在前,getElementsByTagName和getElementsByClassName在後。(見示例程式)
5. getElementsByClassName可以查詢帶有多個類名的元素,只需要在字串引數中用空格隔開即可,和實際DOM中的類名順序可以不一致。

如果您有任何疑問或本文侵犯了您的著作權,請聯絡我。 mail to kylin

相關推薦

JavaScript DOM--頁面載入完成事件獲取元素節點

window.onload與$(document).ready()比較 比較項\js or jQuery window.onload $(document).ready()

主角人物移動-滑鼠點選事件通過射線獲取點選座標

Ray playerRay;//射線 RaycastHit playerHit;//射線碰撞資訊 Vector3 targetPos;//定義滑鼠點選位置 int mapTargetMask;//定義碰撞層級引數void Start () { //獲取地圖層級

從零開始學 Web 之 DOM對樣式的操作,獲取元素的方式

大家好,這裡是「 Daotin的夢囈 」從零開始學 Web 系列教程。此文首發於「 Daotin的夢囈 」公眾號,歡迎大家訂閱關注。在這裡我會從 Web 前端零基礎開始,一步步學習 Web 相關的知識點,期間也會分享一些好玩的專案。現在就讓我們一起進入 Web 前端學習的冒險之旅吧! 1、對樣式的操作

Javascript 基礎

個數 復制 oat con test 代碼 轉換成 com ros 彈窗:   alret(“要彈出的內容”);彈出來之後不點確定網頁不會執行下去   confirm("要彈出的內容");確定對話框,點確定返回True,點取消返回False,可用變量接受   promp

Javascript系列語法、關鍵保留字、變量

javascript ECMA是European Computer Manufacturers Association的縮寫,即歐洲計算機制造商協會。歐洲計算機制造商協會是制定信息傳輸與通訊的國際化標準組織。ECMAScript是ECMA制定的標準化腳本語言。目前JavaScript使用的ECMAS

JavaScript基礎

case 一段 基本 doc 什麽 function rac click 基於 JavaScript基礎(一) 什麽是JavaScript 基於頁面的腳本語言 輕量級 可以插入到html中 基本上所有的瀏覽器都支持 和java完全不同 標簽 瀏覽器會執行這個標簽裏

從零開始學 Web 之 DOMDOM的概念,對標簽操作

關註 1.5 pan 什麽 tin p標簽 nod text == 大家好,這裏是「 Daotin的夢囈 」從零開始學 Web 系列教程。此文首發於「 Daotin的夢囈 」公眾號,歡迎大家訂閱關註。在這裏我會從 Web 前端零基礎開始,一步步學習 Web 相關的知識點,

JavaScript學習——基礎知識查漏補缺

出現 個數字 時代 編寫代碼 條件 undefined 不支持 lock convert 標簽script 我們知道,html要使用js就要使用<script>標簽。 兩種方式: 一是直接在<script>這裏</script>寫入代碼

JavaScript學習

指定 只有一個 有一個 child one 使用 類型 子節點 判斷 1. 節點及其類型: 1). 元素節點 2). 屬性節點: 元素的屬性, 可以直接通過屬性的方式來操作. 3). 文本節點: 是元素節點的子節點, 其內容為文本. 2. 在 html 文檔的什麽

JS之DOM

滿足 del dom3 () 樹節點 也會 name屬性 api 對象 一、DOM簡介 什麽是DOM?簡單地說,DOM是是針對HTML和XML文檔的一個API,一套對文檔的內容進行抽象和概念化的方法。 學習過ORM的同學可能知道ORM是將數據庫中的表映射到類,建立一個表和類

《深入理解java虛擬機器》讀書筆記---- 類載入機制

類載入的時機 1、類從虛擬機器載入到記憶體開始,到卸載出記憶體為止,整個生命週期分為七個階段:載入、驗證、準備、解析、初始化、使用和解除安裝。其中驗證、準備和解析統稱為連線階段。 2、載入、驗證、準備、初始化和解除安裝這五個階段是按順序執行的,而解析階段卻不一定,解析可以在初始化之後

laravel框架原始碼分析自動載入

一、前言   使用php已有好幾年,laravel的使用也是有好長時間,但是一直對於框架原始碼的理解不深,原因很多,歸根到底還是php基礎不紮實,所以原始碼看起來也比較吃力。最近有時間,所以開啟第5、6遍的框架原始碼探索之旅,前面幾次都是看了一些就放棄,希望這次能夠看完。每一次看原始碼都會有新的收穫,因為框

WebGIS 之 ArcGIS API for JavaScript 總結

幾天時間過完了一本《WebGIS 從基礎到開發實踐》 如今閱讀技術書籍也同讀小說一樣,風裡來雨裡去,恢巨集鉅著,從洪荒原始到當今現代。由於是媳婦在圖書館給借的書,在這裡將這本書做一個總結和筆記。 一、為什麼要讀這本書。 美國的esri公司,全稱美國環境系統研究所公司

JavaScript 學習 瞭解JavaScript

前言:最近專案比較緊,有點小壓抑,不知道什麼時候才能結束這無聊的工作,於是想著學習一點新的知識,前段時間學習了Html標籤,以及CSS樣式,感覺收穫不是很大,所以就以記錄的形式來進行學習,也方便我們這群小白一起進步,此外如果對Kotlin也感興趣的童鞋,希望你關注我的文章哦,

Android開發人員不得不學習的JavaScript基礎

操作符 在JavaScript中,有很多種操作符,算術操作符、賦值操作符、比較操作符以及邏輯操作符 1.1、算術操作符: +,-,*,/,除了加號(+)之外,其他都是按照四則運算大方式來進行,而加號(+)在字串中可以作為連線符來使用,這個和Java是一

javascript精雕細琢:var let const function宣告的區別

目錄 引言 var let const function 總結 引言   在學習javascript的過程中,變數是無時無刻不在使用的。那麼相對應的,變數宣告方法也如是。變數是由自己決定,但變數宣告方法是早已經定義好的。那麼在使用變數之前,瞭解變數宣告方法,就變得尤為重要。在ES6推出之前,最常用的宣告變

JS:Basic JavaScript入門--引數

Comment your JavaScript Code 註釋的程式碼塊在JavaScript之中是不會執行的。註釋是一個非常好的方式讓你自己以及其他人明白這段程式碼是怎麼執行的。 JavaScript中的註釋方式有以下兩種: 使用 // 來告訴JavaScript來忽略當前行的程

你不知道的 Virtual DOM:Virtual Dom 介紹

前言 目前最流行的兩大前端框架,React和Vue,都不約而同的藉助Virtual DOM技術提高頁面的渲染效率。那麼,什麼是Virtual DOM?它是通過什麼方式去提升頁面渲染效率的呢?本系列文章會詳細講解Virtual DOM的建立過程,並實現一個簡單的Diff演

前端專案javascript 筆記 持續更新

前端專案中經常會有一個全域性的js,現下給大家分享一下我最近專案中常用到的函式 一、針對位址列操作 獲取位址列某一引數 $.getUrlParam = function (name) { var reg = new RegExp("(^|&)" +

JavaScript總結

【概要】    正式名為ECMAscript,這個標準是由ECMA發展和維護的,ECMA-262是正式的標準。   基於網景公司提出的JavaScript語言和微軟公司提出的Jscript。   基於物件和時間驅動的,並具有安全性的指令碼語