日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

jQuery概述、优点、使用步骤、入口函数、jQuery对象和DOM对象之间的转换、层级选择器、属性选择器、筛选选择器、节点选择器

發布時間:2025/3/15 编程问答 23 豆豆

jQuery簡介:

jQuery是一個高效、精簡并且功能豐富的javascript庫,它提供的API簡單易學,且兼容眾多瀏覽器,極大地簡化了javascript代碼開發,包含內容:HTML 元素選取、HTML 元素操作、CSS 操作、HTML 事件函數、JavaScript 特效和動畫、HTML DOM 遍歷和修改、AJAX、Utilities。

jQuery優點:

  • 輕量級。核心文件才幾十kb,不會影響頁面加載速度。
  • 跨瀏覽器兼容,基本兼容了現在主流的瀏覽器。
  • 鏈式編程、隱式迭代。
  • 對事件、樣式、動畫支持,大大簡化了DOM操作。
  • 支持插件擴展開發,有著豐富的第三方的插件。
  • 免費、開源。
  • jQuery 的使用步驟:

    1.下載jQuery:

    下載jQuery可以到官網地址: https://jquery.com/,選擇自己需要的版本,不同版本之間的大概區別如下:

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

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

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

    2.將jQuery文件引入項目:

    下載下來的壓縮包里面有兩種格式jQuery文件,選擇以min.js結尾的壓縮文件(不壓縮也可以,生產環境一般選擇壓縮文件)并通過script標簽推薦引入到head標簽中:

    <head><script type="text/javascript" src="jquery.min.js"></script><!-- type="text/javascript"可以省略,當然jQuery文件可以使用cdn等網絡資源 --></head>

    3.在新的script標簽中書寫jQuery代碼:

    因為jQuery實際就是封裝的javascript代碼,因此jQuery代碼和javascript代碼可以相互書寫,但是它們之間有自己的API,不能混淆,如:

    <script>// 書寫jQuery代碼和javascript代碼:$('p').text('這是一段文本');function myf(){};</script>

    jQuery語法:

    入口函數(文檔就緒函數):

    因為jQuery在頁面未加載完成時,是不能操作DOM元素的,為了避免出現這個問題,jQuery封裝了像javascript中onload事件一樣的方法,如:

    <script>// 第一種: $(function(){書寫jquery代碼:}),這種比較簡潔,推薦使用:$(function() {$('div').text('hello word');});// 第二種:通過$(document).ready()方法實現加載延時,同樣在ready()方法的括號中使用function(){書寫jQuery代碼:}$(document).ready(function() {$('div').text('hello word');});</script>

    注意:

    1.在jQuery中$就是jQuery的頂級對象,在jQuery中任何$都可以使用jQuery代替(jQuery中的Q是大寫),在jQuery中使用jQuery關鍵字可以解決其他語言中$命名沖突問題;

    2.上面的兩種方式都是指DOM元素的加載,相當于原生javascript中的DOMContentLoaded方法,并非指的圖片等其他引用資源。

    jQuery 對象和 DOM 對象實質比較:

    jQuery的方法和javascript的方法是不同的,因此不能混淆使用,如DOM元素中的innerHTML和jQuery的html()是不能混淆使用;

    jQuery對象和javascript對象也是不同的, 它們之間的實質是:jQuery對象是通過$符號將DOM對象包裝后產生的,jQuery對象是一個偽數組。

    jQuery 對象和 DOM 對象的相互轉換:

    因為jQuery對象是通過$包裝后生成的,因此:DOM對象轉jQuery對象僅需通過$符號或jQuery包裹,如:

    <script>var divs = document.querySelector('div');divs.innerText = 'hello';// 通過$將divs這個DOM對象轉換為jQuery對象:$(divs).css('color', 'red');</script>

    因為jQuery對象實際是以DOM對象為元素的偽數組,因此可以通過索引的方式拿到某個DOM元素,一般索引為0的元素為DOM元素本身,因此一般都是通過[0]的方式將jQuery對象轉換為DOM對象,但是jQuery中提供了get(0)方法轉換為DOM元素,如:

    <script>var $box = $('div');$box.html('hello word');// 通過[0]將jQuery對象轉換為DOM對象:$box[0].style.color = 'skyblue';// 通過get()轉換為DOM對象:$box.get(0).style.fontSize='20px';</script>

    jQuery 選擇器:

    原生javascript中的選擇器存在兼容性問題,而且使用比較單一,jQuery給我們封裝了豐富而且沒有兼容問題的選擇器,其語法:$(‘CSS選擇器’),具體如下:

    基礎選擇器:

    <script>// 1標簽選擇器:$('div').text('hello');// 2.class類選擇器:$('.p').html('<a href = "https://www.baidu.com">百度</a>');// 3.id選擇器:$('#a').css('color', 'green');// 4.通配符選擇器:$('*').css('fontSize', '30px');// 5.并集選擇器:$('.p,a,span').css('fontSize', '12px');// 6.交集選擇器:$('a.as').css('textDecoration', 'none');</script>

    層級選擇器:

    層級選擇器指父級選擇器、父代選擇器、子級選擇器、后代選擇器等。

    <script>// 1.后代選擇器:選中類名為box的div里面所有的p標簽$('.box p').css('color', 'blue');// 2.子代選擇器:選中類名為box的div的親子p標簽$('.box > p').css('color', 'red');</script>

    屬性選擇器:

    屬性選擇器指通過[‘屬性’]表達式進行選擇:

    <script>// 1.選中具有class屬性的標簽:$('[class]').css('color', 'red');// 2.選中具有class屬性,且class值為li的標簽:$('[class="li"]').css('fontSize', '30px');// 3.選中具有href屬性,但href值不為#的標簽:$("[href!='#']").css('textDecoration', 'none');// 4.選中具有href屬性,且href值以.com結尾的標簽:$("[href$='.com']").css('display', 'none')</script>

    篩選選擇器

    篩選選擇器指的是通過特殊的字符進行篩選:

    <script>// 1.選中一組li中的第一個li:$('li:first').css('color', 'yellow');// 2.選中一組li中的最后一個li:$('li:last').css('color', 'red');// 3.選中索引為3的li:$('li:eq(3)').css('color', 'pink');$('li').eq(3).css('fontSize', '28px');// 4.選中索引為奇數的li:$('li:odd').css('backgroundColor', 'skyblue');// 5.選中索引為偶數的li:$('li:even').css('backgroundColor', 'gray');</script>

    節點選擇器:

    節點選擇器指類似于DOM中節點的操作,具體如下:

    <script>// 1.選中類名為li2的li的父級元素:特別提醒:當某個元素有多層父代元素時parent()括號中可以傳入特指的某個父代元素的選擇器$('li.li2').parent().css('listStyle', 'none');// 2.選中類名為ul2的ul中的親子級li:$('.ul2').children().css('listStyle', 'decimal');// 3.找到div里面所有的span(后代選擇器): $('div').find('span').css('color', 'orange');// 4.找到類名為ul2的ul的所有兄弟元素:特別提醒:siblings()括號中可以傳入要查找的具體元素的選擇器$('ul.ul2').siblings('span').css('fontSize', '30px');// 5.查找id為lia元素的后面所有兄弟元素:$('#lia').nextAll().css('color', 'blue');// 6.查找類名為li2元素的前面所有兄弟元素:$('.li2').prevAll().css('color', 'skyblue');</script>

    相同元素多次獲取性能損耗問題:

    在jQuery中同樣的,如果在一個作用域中多次使用$(元素),此時會造成性能損耗,建議和原生javascript中一樣將獲取的元素通過變量本地化,如:

    $('div').show();$('div').hide();//可以將$('div')用一個變量接收,使用時直接用變量即可,因此上面的代碼可優化為:$div = $('div');$div.show();$div.hide();

    提示:本文圖片等素材來源于網絡,若有侵權,請發郵件至郵箱:810665436@qq.com聯系筆者 刪除。
    筆者:苦海

    總結

    以上是生活随笔為你收集整理的jQuery概述、优点、使用步骤、入口函数、jQuery对象和DOM对象之间的转换、层级选择器、属性选择器、筛选选择器、节点选择器的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。