本文實例講述了jQuery實作對無序列表的排序功能。分享給大家供大家參考,具體如下:
利用jQuery對無序列表排序的原理是:取得到無序列表中的所有列表項,並轉成數組形式, 使用JavaScript函數對其進行排序後再次輸出。其中使用到的jQuery函數有ready()、get()、
text()、each()、append()和JavaScript函數sort()。
1. jQuery函數介紹
(1)jQuery函數get()--取得符合元素集合
該函數取得所有符合元素的一種向後相容的方式(不同於jQuery物件,實際上是元素數組)。其語法形式如下:
object.get()
註:如果你想要直接操作DOM物件而不是jQuery對象,這個函數非常有用。
(2)jQuery函數text()--取得並設定元素內容
此函數取得並設定符合元素的文字內容。其語法形式如下:
object.text([val|fn])
註:val和fn參數可選。 val是設定元素的文字內容值;fn(index,text)函數傳回一個字串,接受兩個參數,index為元素在集合中的索引位置,text為原先的text值。
(3)jQuery函數append()--向元素追加內容
此函數向每個符合的元素內部追加內容。其語法形式如下:
object.append(content|fn)
註:這個操作與對指定的元素執行appendChild方法並將它們新增至文件的情況類似。 content參數表示追加的內容;fn(index,html)傳回一個HTML字串,用於追加到每個符合元素內部,接受兩個參數,index參數為物件在這個集合中的索引值,html參數為這個物件原先的html值。
2. JavaScript函數介紹
JavaScript函數sort()--元素排序,用於對陣列元素進行排序。其語法形式如下:
arrayObject.sort([sortby])
註:sortby可選,規定排列順序,必須是函數。傳回值為排序後的陣列本身。如果在呼叫該方法時沒有使用參數,則會按字母順序對數組中的元素進行排序。說得更精確點,是按照字元編碼的順序進行排序。要實現這一點,首先應把數組的元素都轉換成字串(如有必要),以便進行比較。
如果想按照其他標準進行排序,就需要提供比較函數,該函數要比較兩個值,然後傳回一個用於說明這兩個值的相對順序的數字。比較函數應該有兩個參數a和b,其傳回值如下:若a小於b,在排序後的陣列中a應該會出現在b之前,則傳回一個小於0的值。若a等於b,則回傳0。若a大於b,則傳回大於0的值。
3.功能實作
實作無序列表項排序功能的步驟如下。
(1)取得所有的清單項,並將其裝入陣列。
(2)對陣列物件進行排序。
(3)將排好序的陣列重新填入無序列表中。
首先,把jQuery庫引入:
<script language="JavaScript" src="jquery-1.7.2.min.js"></script>
然後,加入如下排序功能碼:
<script language="JavaScript" type="text/JavaScript"> $(document).ready(function(){ var items = $(".orderobj li").get(); //获取所有待排序li装入数组items items.sort(function(a,b) //调用JavaScript内置函数sort { var elementone = $(a).text(); var elementtwo = $(b).text(); if(elementone < elementtwo) return -1; if(elementone > elementtwo) return 1; return 0; }); var ul = $(".orderobj"); $.each(items,function(i,li) //通过遍历每一个数组元素,填充无序列表 { ul.append(li); }); }); </script>
以上程式碼透過陣列排序並重新填入無序列表使得清單項目有序。具體效果如圖:
以上是利用jQuery實作對無序列表進行排序的詳細內容。更多資訊請關注PHP中文網其他相關文章!

实现方法:1、用“$("img").delay(毫秒数).fadeOut()”语句,delay()设置延迟秒数;2、用“setTimeout(function(){ $("img").hide(); },毫秒值);”语句,通过定时器来延迟。

区别:1、axios是一个异步请求框架,用于封装底层的XMLHttpRequest,而jquery是一个JavaScript库,只是顺便封装了dom操作;2、axios是基于承诺对象的,可以用承诺对象中的方法,而jquery不基于承诺对象。

增加元素的方法:1、用append(),语法“$("body").append(新元素)”,可向body内部的末尾处增加元素;2、用prepend(),语法“$("body").prepend(新元素)”,可向body内部的开始处增加元素。

修改方法:1、用css()设置新样式,语法“$(元素).css("min-height","新值")”;2、用attr(),通过设置style属性来添加新样式,语法“$(元素).attr("style","min-height:新值")”。

删除方法:1、用empty(),语法“$("div").empty();”,可删除所有子节点和内容;2、用children()和remove(),语法“$("div").children().remove();”,只删除子元素,不删除内容。

在jquery中,apply()方法用于改变this指向,使用另一个对象替换当前对象,是应用某一对象的一个方法,语法为“apply(thisobj,[argarray])”;参数argarray表示的是以数组的形式进行传递。

去掉方法:1、用“$(selector).removeAttr("readonly")”语句删除readonly属性;2、用“$(selector).attr("readonly",false)”将readonly属性的值设置为false。

on()方法有4个参数:1、第一个参数不可省略,规定要从被选元素添加的一个或多个事件或命名空间;2、第二个参数可省略,规定元素的事件处理程序;3、第三个参数可省略,规定传递到函数的额外数据;4、第四个参数可省略,规定当事件发生时运行的函数。


熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

SublimeText3漢化版
中文版,非常好用

MinGW - Minimalist GNU for Windows
這個專案正在遷移到osdn.net/projects/mingw的過程中,你可以繼續在那裡關注我們。 MinGW:GNU編譯器集合(GCC)的本機Windows移植版本,可自由分發的導入函式庫和用於建置本機Windows應用程式的頭檔;包括對MSVC執行時間的擴展,以支援C99功能。 MinGW的所有軟體都可以在64位元Windows平台上運作。

SAP NetWeaver Server Adapter for Eclipse
將Eclipse與SAP NetWeaver應用伺服器整合。

記事本++7.3.1
好用且免費的程式碼編輯器

mPDF
mPDF是一個PHP庫,可以從UTF-8編碼的HTML產生PDF檔案。原作者Ian Back編寫mPDF以從他的網站上「即時」輸出PDF文件,並處理不同的語言。與原始腳本如HTML2FPDF相比,它的速度較慢,並且在使用Unicode字體時產生的檔案較大,但支援CSS樣式等,並進行了大量增強。支援幾乎所有語言,包括RTL(阿拉伯語和希伯來語)和CJK(中日韓)。支援嵌套的區塊級元素(如P、DIV),