Jquery中$(document).ready(function(){ })函數的使用詳解

Jquery是優秀的Javascrīpt框架,$是jquery庫的申明,它很不穩定(我就常遇上),換一種穩定的寫法jQuery.noConflict(); jQuery(document).ready(function(){});

使用jQuery的好處是它包裝了各種瀏覽器版本對DOM對象(javascript的DOM對象你應該知道吧,就是它了)的操作.

比如jquery寫法:

1 $("div p"); // (1)
2 $("div.container"); // (2)
3 $("div #msg"); // (3)
4 $("table a",context); // (4)
5 $("#myId"); //(5)

?第一行代碼得到所有<div>標簽下的<p>元素。

第二行代碼得到class 為container的<div>元素,

第三行代碼得到<div>標簽下面id為msg的元素。

第四行代碼得到context為 上下文的table里面所有的連接元素。

第五行代碼得到id為myid的所有元素

如果你熟悉CSS,你會覺得這些寫法很眼熟!對了。正是。看出奧妙了吧。jquery就是通過這樣的方式來找到Dom對象里面的元素。跟CSS的選擇器相類似。

現在回答你的具體問題吧

$(document).ready(function(){
alert("hello");
});(1)

html

1 <body οnlοad="alert('hello');">(2)

上面兩段代碼是等價的。但代碼1的好處是做到表現和邏輯分離。并且可以在不同的js文件中做相同的操作,即$(document).ready (fn)可以在一個頁面中重復出現,而不會沖突。基本上Jquery的很多plugin都是利用這個特性,正因為這個特性,多個plugin共同使用起 來,在初始化時不會發生沖突。

如果我們在

$(document).ready(function(){
加入內容A
});

內容A:

$(".btn-slide").click(function(){alert("你單擊了a標簽中class等于btn-slide的連接");
});

?則表示當我們單擊class=btn-slide的超級連接時彈出“你單擊了a標簽中class等于btn-slide的連接”對話框.

如此方便易用,因此使用jquery是一個不錯的選擇。

$(document).ready()使用小結

window.onload = function(){ alert("welcome"); }

這樣的寫法作用是希望在頁面加載完,自動執行定義js代碼(function)。

$(document).ready(function(){.... })

這個函數是用來取代頁面中的window.onload;

document.ready()和傳統的方法<body οnlοad=”load()”> 相似

不同的是onload()的方法是在頁面加載完成后才發生,這包括DOM元素和其他頁面元素(例如圖片)的加載,因此,使用 document.ready() 方法的執行速度比onload()的方法要快。

?Javascript 只有在DOM元素已經定義以后才可以對其執行某種操作,

jQuery使用document.ready來保證所要執行的代碼是在DOM元素被加載完成的情況下執行。比如:

<script type="text/javascript">
$(document).ready(function () {
alert("我的第一個jQuery代碼!");
});
</script>

這段代碼的意思是:當Dom Tree加載完成后,顯示警告信息。

最后要注意兩點:

確保在 <body> 元素的onload事件中沒有注冊函數,否則可能不會觸發$(document).ready()事件。(我嘗試用下面的例子來演示這個情況,但是沒有成功,所以我想這種情況只是可能發生。)

 1 <html>
 2     <head>
 3         <title>
 4             My second jQuery
 5         </title>
 6         <script type="text/javascript" src="/js/jquery.js">
 7         </script>
 8         <script type="text/javascript">
 9             //下面是load的函數含有jquery注冊函數$
10             function load() {
11                 $("p").append("<b>Hello</b>");
12             }
13             //下面是jQuery的代碼
14             $(document).ready(function() {
15                 $("p").append("我的第一個jQuery代碼!");
16                 $("p").append("<b>Hello</b>");
17             });
18         </script>
19     </head>
20     <body onload="load()">
21         <h2>
22             jQuery 簡單例子2
23         </h2>
24         <p>
25             I would like to say:
26         </p>
27     </body>
28 
29 </html>

可以在同一個頁面中無限次地使用$(document).ready()事件。其中注冊的函數會按照(代碼中的)先后順序依次執行。

?

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

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

相關文章

爬蟲數據executemany插入_金融數據的獲取——一個爬蟲的簡單例子

對量化投資策略進行研究&#xff0c;第一步就是獲取我們需要的數據。使用歷史數據能夠對策略進行回測&#xff0c;以驗證策略的有效性和可信性。另一方面&#xff0c;量化投資本身也是一種對數據的研究&#xff0c;因此它也必須遵循數據分析的相關步驟。作為一個業余的量化投資…

洛谷 P1736 創意吃魚法

P1736 創意吃魚法 題目描述 回到家中的貓貓把三桶魚全部轉移到了她那長方形大池子中&#xff0c;然后開始思考&#xff1a;到底要以何種方法吃魚呢&#xff08;貓貓就是這么可愛&#xff0c;吃魚也要想好吃法 ^_*&#xff09;。她發現&#xff0c;把大池子視為01矩陣&#xff0…

程序員面試中遇到問題

面試時候經常會問的一些問題(不斷補充中) 面試必備基礎題目(雖然不一定常用, 僅用于面試, 面試就是把人搞的都不會然后砍價, 當然您可以講我可以查資料完成, 但是面試的時候就是沒道理的, 起碼我是經常看到這些題). 如何把一段逗號分割的字符串轉換成一個數組? request.getAtt…

linux檢查swap配置,Linux環境下swap配置方法

8種機械鍵盤軸體對比本人程序員&#xff0c;要買一個寫代碼的鍵盤&#xff0c;請問紅軸和茶軸怎么選&#xff1f;前言安裝Linux系統之后&#xff0c;默認是沒有swap分區&#xff0c;那么我們怎樣增加和刪除swap分區。配置swap步驟1) 內存占用情況1free -hSwap: 0B 0B 0B2) 通過…

react學習系列1 修改create-react-app配置支持stylus

注&#xff1a;由于前端更新非常快&#xff0c;寫這篇文章時 create-react-app 使用的版本是1.4.1 最新的使用流程請參照官方文檔。create-react-app 是facebook推出的快速創建react項目的命令行工具。 他和 vue-cli 類似。開箱即用&#xff0c;不用改一行配置就可以開發出針對…

Python 內置模塊之 時間模塊 datetime

概述 datatime模塊重新封裝了time模塊&#xff0c;提供更多接口&#xff0c;datetime庫定義了2個常量和5個類。 2個常量分別是&#xff1a; MINYEAR1MAXYEAR9999 5個類分別是&#xff1a; date類&#xff1a;表示日期的類time類&#xff1a;表示時間的類datetime類&#xf…

python自學網站需要多長時間-怎么自學python,大概要多久?

我潑點冷水&#xff1a;建議還是要慎重選擇上來新手就自學Python。如果想認認真真打好基礎&#xff0c;還是要至少從Java學起。換句話說&#xff0c;先學會Java&#xff0c;然后再學Python不遲。 Python的最大優勢是簡單明快&#xff0c;最大問題也是簡單明快。 我面試過很多用…

[c/c++] programming之路(25)、字符串(六)——memset,Unicode及寬字符,strset

一、memset #include<stdio.h> #include<stdlib.h> #include<memory.h>void *mymemset(void *p, int num, int len) {char *px (char *)p;if (p NULL)return NULL;while (len>0){*px (char)num;px;len--;}return p;//因為上述代碼是對px進行操作&#…

linux切換sid,linux – 將sid字段添加到ps -f輸出

我正在閱讀ps手冊頁,有一些我不明白的東西.-f does full-format listing. This option can be combined with many otherUNIX-style options to add additional columns. It also causes thecommand arguments to be printed. When used with -L, the NLWP (number ofthreads) …

使用Cross-Page Postback(跨頁面提交)在頁面間傳遞數據

頁面間傳遞數據的幾種方法 在頁面間傳遞數據時&#xff0c;我們有以下幾種選擇&#xff1a; 1、Query String 一個很常見的方法&#xff0c;Query String是URL中問號之后的那一部分。其優點在于它是輕量級的&#xff0c;不會給服務器帶來任何負擔。而它也有幾個缺點&#xff1a…

synchronized 和 lock 的區別

lock更靈活&#xff0c;可以自由定義多把鎖的加鎖解鎖順序&#xff08;synchronized要按照先加的后解順序&#xff09; 提供多種加鎖方案&#xff0c;lock 阻塞式, trylock 無阻塞式, lockInterruptily 可打斷式&#xff0c; 還有trylock的帶超時時間版本。 本質上和監視器鎖&a…

win10怎么設置默認輸入法_win10系統輸入法失效打不了字怎么辦

大家好&#xff0c;今天分享一篇來自小白系統官網(xiaobaixitong.com)的圖文教程。最近有用戶反映自己電腦上的win10系統出現輸入法失效打不了字的問題&#xff0c;想知道有沒有解決該問題的方法。小編經過一番查找后給大家整理出了針對該問題的解決方法&#xff0c;下面就讓我…

Python 內置模塊之 時間模塊 time

time模塊提供各種時間相關的功能,與時間相關的模塊有&#xff1a;time,datetime,calendar 必要說明&#xff1a; 這個模塊的功能不是適用于所有的平臺 這個模塊中定義的大部分函數是調用C平臺上的同名函數實現 一些術語和約定的解釋&#xff1a; 時間戳(timestamp)的方式,返…

linux找link原路徑,readlink命令找出符號鏈接所指向的位置

1.釋義找出符號鏈接所指向的位置2.系統幫助用法&#xff1a;readlink [選項]... 文件...輸出符號鏈接值或權威文件名。-f, --canonicalize遞歸跟隨給出文件名的所有符號鏈接以標準化&#xff0c;除最后一個外所有組件必須存在-e, --canonicalize-existing遞歸跟隨給出文件名的所…

國產毫米波雷達領域的領頭羊,木牛科技將在明年量產77GHz汽車雷達

國內的汽車毫米波雷達市場風潮起于2015年前后&#xff0c;彼時國內的毫米波雷達企業已經發展很多年&#xff0c;但大都在軍工領域。 面對突然出現的汽車毫米波雷達市場熱潮&#xff0c;國內很快涌現出了一大批雷達的初創企業&#xff0c;努力擠進這一亦新亦舊的市場。 說是新&a…

面試風云錄(02) - 與頂級CTO交手的難忘經驗...

大部分面試都是尋找團隊伙伴或成員&#xff0c;很少是面試高層&#xff0c;因為職級比我們高的人&#xff0c;自然會有更高層的人面試他們&#xff0c;但這次分享的不是一般面試&#xff0c;而是我跟頂級CTO交手的經驗&#xff0c;盡管為了顧慮當事人隱私&#xff0c;我已經隱去…

MySQL 之 performance_schema

背景&#xff1a; 自 MySQL5.5開始&#xff0c;MySQL新增了一個數據庫&#xff1a;PERFORMANCE_SCHEMA&#xff0c;主要用于收集數據庫服務器性能參數。此庫中表的存儲引擎均為PERFORMANCE_SCHEMA&#xff08;用戶不能創建存儲引擎為PERFORMANCE_SCHEMA的表&#xff09;。MySQ…

DNS解析原理與Bind部署DNS服務

DNS是什么&#xff1f; DNS&#xff08;Domain Name System&#xff0c;域名系統&#xff09;是互聯網上最核心的帶層級的分布式系統&#xff0c;它負責把域名轉換為IP地址、反查IP到域名的反向解析以及宣告郵件路由等信息&#xff0c;使得基于域名提供服務稱為可能&#xff0c…

qt 獲取本機的wifi密碼_還在記密碼?這款開源免費的賬號密碼管理神器趕緊收了...

工作中涉及到得賬號密碼&#xff0c;你是怎么記錄得&#xff1f;如果是文檔word或者excel記錄&#xff0c;那么回非常麻煩&#xff0c;每次還得打開。如果是瀏覽器自己記錄&#xff0c;如果更新密碼&#xff0c;又記不得。尷尬&#xff01;今天大衛給大家推薦一款開源免費得賬號…

adaptec raid linux,adaptecraid卡管理軟件在windows和linux下的安裝使用介紹(7頁)-原創力文檔...

adaptec raid卡管理軟件在 windows和linux下的安裝使用文檔l.adaptec raid卡的管理軟件在 windows下安裝后的運行界面如下圖:adaplecadaplec點擊connect后&#xff0c;便可進入管理軟件的主界面&#xff0c;如下圖:在這個主界面中可以選擇要操作的 raid卡&#xff0c;例如本例中…