jQuery第一天

課程回顧:

? 正則:匹配字符組合模式;

? 創建:var reg1 = new RegExp(/abc/); var reg2 = /abc/;

? 測試:reg1.test(‘abc’);

? 特殊字符:元字符

? 邊界符:^,$

? 字符類:[多選一]

? 量詞符:*,+,?,{n},{n,},{n,m}

? 修飾符:str.replace(/b/gi, ‘字符串’);

jQuery初步

今日基礎目標

能夠說出什么是 jQuery

能夠說出 jQuery 的優點

能夠簡單使用 jQuery

能夠說出 DOM 對象和 jQuery 對象的區別

jQuery 選擇器

jQuery 樣式操作

jQuery概念:

jQuery 是一個快速、簡潔的 JavaScript 庫

? JavaScript庫:即 library,是一個封裝好的特定的集合(方法和函數)。

? 學習jQuery本質: 就是學習調用這些函數(方法)。【對象.方法()】

簡單理解: 就是一個JS 文件,里面對我們原生js代碼進行了封裝,存放到里面。這樣我們可以快速高效的使用這些封裝好的功能了。其設計的宗旨是“write Less,Do More”,即倡導寫更少的代碼,做更多的事情。j 就是 JavaScript;   Query 查詢; 意思就是查詢js,把js中的DOM操作做了封裝,我們可以快速的查詢使用里面的功能。別人寫好的JS庫,我們拿過來用

JavaScript

jQuery

Prototype

YUI

Dojo

Ext JS

l移動端的zepto

這些庫都是

對原生 JavaScript 的封裝,內部都是用JavaScript 實現的,我們主要學習的是 jQuery。

jQuery 的優點

輕量級。核心文件才幾十kb,不會影響頁面加載速度

鏈式編程、隱式迭代=

對事跨瀏覽器兼容。基本兼容了現在主流的瀏覽器

樣式、動畫支持,大大簡化了DOM操作

支持插件擴展開發。有著豐富的第三方的插件,例如:樹形菜單、日期控件、輪播圖等

免費、開源

jQuery 的下載

官網地址: https://jquery.com/


版本:

1x :兼容 IE 678 等低版本瀏覽器, 官網不再更新

2x :不兼容 IE 678 等低版本瀏覽器, 官網不再更新

3x :不兼容 IE 678 等低版本瀏覽器, 是官方主要更新維護的

其他版本:https://code.jquery.com/

jQuery 的使用步驟

  1. 下載jQuery
  2. 引入 jQuery 文件
  3. 使用即可

jQuery入門

jQuery 的入口函數

第一種:

$(function () {   ...  // 此處是頁面 DOM 加載完成的入口}) ;

第二種:

$(document).ready(function(){...  //  此處是頁面DOM加載完成的入口
}); 

注意點:

等著 DOM 結構渲染完畢即可執行內部代碼,不必等到所有外部資源加載完成,jQuery 幫我們完成了封裝。

不同于原生 js 中的 load 事件是等頁面文檔、外部的js 文件、css文件、圖片加載完畢才執行內部代碼。

更推薦使用第一種方式。

jQuery 的基本使用

jQuery 的頂級對象 $

1.$ 是 jQuery 的別稱,在代碼中可以使用 jQuery 代替 $,但一般為了方便,通常都直接使用 $ 。

2.$ 是jQuery 的頂級對象, 相當于原生JavaScript中的 window。把元素利用$包裝成jQuery對象,就可以調用jQuery 的方法。

jQuery 對象和 DOM 對象

$('div').css('屬性', '值')     小知識點 js的對象只能用JS的屬性和方法Jq的對象只能用JQ的屬性和方法

目的:學會區分

用原生 JS 獲取來的對象就是 DOM 對象【document.getElement等方法】

jQuery 方法獲取的元素就是 jQuery 對象【$(‘div’)等】

jQuery 對象本質是: 利用$對DOM 對象包裝后產生的對象(偽數組形式存儲)

特別注意

只有 jQuery 對象才能使用 jQuery 方法,DOM 對象則使用原生的 JavaScirpt 方法。

相互轉換

DOM 對象與 jQuery 對象之間是可以相互轉換的。

因為原生js 比 jQuery 更大,原生的一些屬性和方法 jQuery沒有給我們封裝. 要想使用這些屬性和方法需要把jQuery對象轉換為DOM對象才能使用。

DOM 對象轉換為 jQuery 對象: $(DOM對象)

jQuery 對象轉換為 DOM 對象(兩種方式)

? $(‘div’) [index] index 是索引號

? $(‘div’) .get(index) index 是索引號

	<div>123</div><script type="text/javascript">var div = document.querySelector('div');// div.style.background = 'red';// div.css('background', 'blue');// DOM元素不可以用jQuery的方法// 如果吧divDOM對象轉成jQuery對象,就可以用jQuery的方法// $(div).css('background', 'blue');// $(DOM對象)==>jQuery對象// $(元素).css('屬性名', '屬性值');// $('div').css('background', 'yellow');// $('div').style.background = 'pink';// jQuery對象不可以用原生JS的方法// 如果吧jQuery對象轉換稱為DOM對象,就可以用style// console.log( $('div') );// [divDOM]\// $('div')[0].style.background = 'pink';$('div').get(0).style.background = 'orange';</script>

jQuery:JS庫

? 入口函數:$(function () {})

? jQuery對象和DOM對象轉換

jQuery 常用API

目標

  1. jQuery 選擇器
  2. jQuery 樣式操作
  3. jQuery 效果
  4. jQuery 屬性操作
  5. jQuery 文本屬性值
  6. jQuery 元素操作
  7. jQuery 尺寸、位置操作

jQuery 選擇器

原生 JS 獲取元素方式很多,很雜,而且兼容性情況不一致,因此jQuery給我們做了封裝,使獲取元素統一標準選擇器:用來獲取元素

$(“選擇器”) // 里面選擇器直接寫 CSS 選擇器即可,但是要加引號

$('#id')==》指定id元素$('*')==》所有元素$('.class')==》指定class元素$('div')==》根據標簽獲取元素$('div,p,li')==》獲取多個$('li.class')==>交集獲取$('ul>li')==>子代$('ul li')==>后代

隱式迭代

遍歷內部 DOM 元素(偽數組形式存儲)的過程就叫做隱式迭代

簡單理解:給匹配到的所有元素進行循環遍歷,執行相應的方法,而不用我們再進行循環,簡化我們的操作,方便我們調用。

小練習:

? 給一組li修改樣式

<body><ul><li>1</li><li>2</li><li>3</li><li>4</li><li>5</li><li>6</li><li>7</li><li>8</li><li>9</li><li>10</li></ul><script type="text/javascript">// 因為:隱式迭代$('ul li').css('background','blue');// 原來// var lis = document.querySelectorAll('li');// for (var i = 0; i < lis.length; i++) {// 	lis[i].style.background = 'red';// }</script>
</body>

jQuery 篩選選擇器

$(‘li:first’):第一個元素

$(‘li:last’):最后一個元素

$(‘li:eq(2)’)==》索引為2【查找指定索引的元素】

$(‘li:odd’)==》索引為奇數

$(‘li:even’)==》索引為偶數

注意:索引是從0開始的

jQuery 篩選方法(重點)

$(‘選擇器’).方法()

$(‘li’).parent()父級

$(‘ul’).children(‘li’);子集【如果不加參數,獲取所有的,如果添加指定的元素,按照指定的找】

$(‘ul’).find(‘li’)后代

$(‘li’).siblings(‘li’)兄弟

$(‘li’),nextAll();后面的

$(‘li’).prevAll();前面的

判斷是否具有某個類名:$(‘div’).hasClass(‘aaa’)

$(‘div’).eq(index);指定索引方法【eq推薦用方法】

重點記住: parent()  children()  find()  siblings()  eq()

小知識點:添加事件,show方法,hide方法,toggle方法

案例下拉菜單

上午回顧:

? jQuery:javaScript庫

? 入口函數:

? 第一種:$(function () {代碼});

? 第二種:$(document).ready(function () {代碼});

? jQuery:jQuery對象==>$

? jQuery對象:$(’元素‘)[索引值];

? DOM對象:原生獲取元素$(DOM對象)

? jQuery選擇器:$(‘選擇器’);

? 篩選方法:parent,childrend,find,siblings,eq

? 添加知識: next() 下一個 prev()上一個

jQuery中的next()方法
next()方法,獲取指定元素同輩的下一個元素

語法  $().next()

jQuery中的prev()方法
prev方法:獲取指定元素同輩的上一個元素

語法  $().prev();

jQuery 里面的排他思想

案例:多個按鈕點擊改變當前按鈕顏色,其他的不變

【index()獲取索引值】

想要多選一的效果,排他思想:當前元素設置樣式,其余的兄弟元素清除樣式。

$(this).css(“color”,”red”);$(this).siblings(). css(“color”,””); 

案例:淘寶服飾精品案例【index()獲取索引值】


②需要得到當前小li 的索引號,就可以顯示對應索引號的圖片③jQuery 得到當前元素索引號 $(this).index()  ⑤顯示元素 show()   隱藏元素 hide()

鏈式編程

$(this).css(‘color’, ‘red’).sibling().css(‘color’, ‘’);

按鈕案例

<script type="text/javascript">$('input').click(function () {// $(this).css('background', 'red');// $(this).siblings().css('background', '');$(this).css('background', 'yellow').siblings().css('background', '');});</script>

jQuery 樣式操作

jQuery 可以使用 css 方法來修改簡單元素樣式; 也可以操作類,修改多個樣式。

操作 css 方法

參數只寫屬性名,則是返回屬性值【$(this).css(''color'');】參數是屬性名,屬性值,逗號分隔,是設置一組樣式,屬性必須加引號,值如果是數字可以不用跟單位和引號【$(this).css(''color'', ''red'');】參數可以是對象形式,方便設置多組樣式。屬性名和屬性值用冒號隔開, 屬性可以不用加引號,
【$(this).css({ "color":"white","font-size":"20px"});】$('input').click(function () {// console.log( $('div').css('width') );// $('div').css('width', '300px');// $('div').css('height', 300);// $('div').css('background','blue');// 如果,設置的屬性多,那么直接傳遞對象既可$('div').css({// 屬性名 :屬性值,width : 200,height : 200,background : 'yellow','font-size' : '60px',});});

設置類樣式方法

作用等同于以前的 classList,可以操作類樣式,注意操作類里面的參數不要加點

添加類【$(“div”).addClass(''current'');】移除類【$(“div”).removeClass(''current'');】切換類【$(“div”).toggleClass(''current'');】原生 JS 中 className 會覆蓋元素原先里面的類名。
jQuery 里面類操作只是對指定類進行操作,不影響原先的類名

***案例:*tab欄切換

點擊上部的li,當前li 添加current類,其余兄弟移除類。點擊的同時,得到當前li 的索引號讓下部里面相應索引號的item顯示,其余的item隱藏<script>// 點擊修改內容以及樣式// 點擊li添加類名current,其他li不準加這個類名// 并且對應的div要顯示,其他的div要隱藏$('.tab_list li').click(function () {// 1、點擊哪個li給哪個li添加類名,其他的移除類名$(this).addClass('current').siblings().removeClass('current');// 2、顯示對應的div,其他div隱藏// 獲取索引值var index = $(this).index();// 根據index查找對應div$('.tab_con div').eq(index).show().siblings().hide();});</script>

課程回顧:

? jQuery:JavaScript庫

? 1、入口函數:$(function () {});

? 2、jQuery對象和DOM對象轉換

? 3、jQuery選擇器:#id,.類名

? 篩選方法:parent (父級),childrend(子集),find(后代),siblings(兄弟元素),eq(索引)

? 隱式迭代,鏈式編程

? 4、jQuery樣式操作:$(元素).css(參數);

? 5、jQuery類名操作:addClass(添加類),removeClass(刪除類),toggleClass(類名的切換)

其他知識點:給元素添加事件$(元素).click(function () {});

? 顯示隱藏元素:show(顯示),hide(隱藏),toggle(切換)

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

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

相關文章

Python學習(一)

一、版本&#xff1a; Python2.X /Python3.x 官方宣布2020 年 1 月 1 日&#xff0c; 停止 Python 2 的更新。 Python3.x不兼容Python2.x  二、安裝&#xff08;以mac 為例&#xff09; MAC 系統一般都自帶有 Python2.x版本 的環境&#xff0c;你也可以在鏈接 https://www.py…

jQuery—淘寶精品服飾案例

<body><div class"wrapper"><ul id"left"><li><a href"#">女靴</a></li><li><a href"#">雪地靴</a></li><li><a href"#">冬裙</a>&l…

Python機器學習實踐:決策樹判別汽車金融違約用戶

文章發布于公號【數智物語】 &#xff08;ID&#xff1a;decision_engine&#xff09;&#xff0c;關注公號不錯過每一篇干貨。 轉自 | 法納斯特&#xff08;公眾號ID:walker398&#xff09; 作者 | 小F 決策樹呈樹形結構&#xff0c;是一種基本的回歸和分類方法。 決策樹模型的…

Python學習(二)語言基礎

一、變量與類型 在程序設計中&#xff0c;變量是一種存儲數據的載體 整型&#xff1a;Python中可以處理任意大小的整數浮點型&#xff1a;浮點數也就是小數字符串型&#xff1a;字符串是以單引號或雙引號括起來的任意文本布爾型&#xff1a;布爾值只有True、False兩種值&#x…

jQuery—tab欄切換

<div class"tab"><div class"tab_list"><ul><li class"current">商品介紹</li><li>規格與包裝</li><li>售后保障</li><li>商品評價&#xff08;50000&#xff09;</li><l…

MongoDB分組查詢,聚合查詢,以及復雜查詢

準備數據 from pymongo import MongoClient import datetimeclientMongoClient(mongodb://localhost:27017) tableclient[db1][emp]l[ (張飛,male,18,20170301,,7300.33,401,1), #以下是教學部 (張云,male,78,20150302,teacher,1000000.31,401,1), (劉備,male,81,20130305,teac…

Python學習(三)基礎

一、函數與模塊 定義函數&#xff1a; 函數代碼塊以 def 關鍵詞開頭&#xff0c;后接函數標識符名稱和圓括號 ()。任何傳入參數和自變量必須放在圓括號中間&#xff0c;圓括號之間可以用于定義參數。函數的第一行語句可以選擇性地使用文檔字符串—用于存放函數說明。函數內容以…

操作系統原理之I/O設備管理(第六章上半部分)

一、I/O系統的組成 I/O系統不僅包括各種I/O設備&#xff0c;還包括與設備相連的設備控制器&#xff0c;有些系統還配備了專?? 于輸?/輸出控制的專?計算機&#xff0c;即通道。此外&#xff0c;I/O系統要通過總線與CPU、內存相連。 I/O系統的結構&#xff1a; I/O設備的分類…

js控制a標簽點擊事件 觸發下載

問題背景&#xff0c;動態獲取data把url賦值到a標簽的url中&#xff0c;讓a標簽自動下載 首先想到的應該是$(xxx).click(), 查資料明白&#xff1a;js中的$(...).click()事件只能觸發綁定的onClick方法&#xff0c;不能跳轉到href。 第二種方法&#xff1a;獲取到url之后locat…

操作系統原理之I/O設備管理(第六章下半部分)

五、I/O軟件原理 輸入輸出軟件的總體目標是將軟件組織成一種層次結構 低層軟件用來屏蔽硬件的具體細節高層軟件則主要是為用戶提供一個簡潔、規范的界面設備管理的4個層次&#xff1a; 用戶層軟件 -》向系統發出I/O請求&#xff0c;顯示I/O操作的結果&#xff0c;提供?戶與設備…

jQuery第二天

課程回顧&#xff1a; ? jQuery&#xff1a;JavaScript庫 ? 入口函數&#xff1a;$(function () {}); ? jQuery&#xff1a;jQuery對象&#xff0c;DOM對象 ? jQuery轉成DOM&#xff1a;$(‘元素’)[索引值] ? DOM轉成jQuery&#xff1a;$(DOM對象); ? 篩選方法&am…

切換Debug/Release編譯模式和Archive的作用

&#xfeff;在學這個之前&#xff0c;以為很難&#xff0c;也起不到什么作用&#xff0c;但是等真正運用到工程里面&#xff0c;才發現&#xff0c;這個能幫你省下很多工作量。 1&#xff0c;Debug和Release版本區別&#xff1f; 進行iOS開發&#xff0c;在Xcode調試程序時&am…

Linux 防火墻:Netfilter iptables

一、Netfilter 簡介 (1) Netfilter 是 Linux 內置的一種防火墻機制&#xff0c;我們一般也稱之為數據包過濾機制&#xff0c;而 iptables 只是操作 netfilter 的一個命令行工具(2) Netfilter 是 Linux CentOS 6 內置的防火墻機制&#xff0c;Firewall 是 Linux CentOS 7 內置的…

無法加載 DLL“SQLite.Interop.DLL”: 找不到指定的模塊。 (異常來自 HRESULT:0x8007007E)。...

無法加載 DLL“SQLite.Interop.DLL”: 找不到指定的模塊。 (異常來自 HRESULT:0x8007007E)。 在項目里添加 現有項 把SQLite.Interop.DLL文件添加進來&#xff0c;然后點擊屬性 修改一個屬性 把 屬性 復制到輸出目錄 改為 始終復制 然后打開你的項目屬性 進入生成的 頁面&a…

jQuery第三天

課程回顧&#xff1a; ? 動畫效果&#xff1a;基本動畫&#xff0c;滑動動畫&#xff0c;淡入淡出&#xff0c;自定義動畫效果(animate) ? 事件切換&#xff1a;hover(over&#xff0c;out); ? 停止動畫&#xff1a;stop ? 操作屬性&#xff1a;prop&#xff08;固有屬…

C語言程序設計II—第八周教學

第八周教學總結&#xff08;15/4-21/4&#xff09; 教學內容 本周的教學內容為&#xff1a;   8.4 電碼加密 知識點&#xff1a;指針與字符串&#xff0c;重難點&#xff1a;字符指針與字符串的關聯和區別&#xff1b;   8.5 任意個整數求和 知識點&#xff1a;動態內存分配…

AFNetworking 對數據進行https ssl加密

參考來源&#xff1a;http://www.cnblogs.com/jys509/p/5001566.html 現在在工作中的工作需求&#xff1a;https請求驗證證書一般來講如果app用了web service , 我們需要防止數據嗅探來保證數據安全.通常的做法是用ssl來連接以防止數據抓包和嗅探其實這么做的話還是不夠的 。…

數據庫系統原理(第一章概述)

一、數據庫基本概念 什么是數據&#xff1a;數據&#xff08;Data&#xff09;是描述事物的符號記錄&#xff0c;是指利用物理符號記錄下來的、 可以鑒別的信息。 數據是信息存在的一種形式&#xff0c;只有通過解釋或處理的數據才能成為有用的信息。 什么是數據庫&#xff1a;…

jQuery第四天

課程回顧&#xff1a; ? 元素操作&#xff1a; ? 遍歷元素&#xff1a; ? $(‘元素’).each(function (index, elm) {}); ? $.each(對象&#xff0c;function (index, elm) {}); ? 創建元素&#xff1a;$(‘ 新的元素?’);? 添加元素&#xff1a; ? 內部添加&…

navigationController的NavigationBar和ToolBar的POP或PUSH消失問題

今天在工作中發現一個坑&#xff0c; 其他頁面都是隱藏。YSViewController 使用的時候必須是需要 navigationBar 和 toorbar&#xff0c;但是 pop出這個viewcontroller后&#xff0c;需要隱藏navigationBar 和 toorbar&#xff0c;但是直接設置為hiddenYES會出現其他頁面壓棧出…