07-JS中 li 排序

JS中 li 排序

 1 <!DOCTYPE html>
 2 <html>
 3     <head>
 4         <meta charset="UTF-8">
 5         <title></title>
 6         <style type="text/css">
 7             #ul1{background: green;}
 8         </style>
 9     </head>
10     <body>
11         <input type="button" name="" id="btn1" value="排序" />
12
13         <ul id="ul1">
14             <li>11</li>
15             <li>332</li>
16             <li>10</li>
17             <li>40</li>
18             <li>80</li>
19         </ul>
20
21     </body>
22     <script type="text/javascript">
23         window.onload = function(){
24             var oUl1 = document.getElementById("ul1");
25             var oBtn = document.getElementById("btn1");
26
27             oBtn.onclick = function(){
28                 var allLi = oUl1.getElementsByTagName("li");
29
30                 //allLi.sort();
31                 //报错:因为 allLi它并不是一个真正的数组 ,它只是以数组的形式组织数据,没有sort方法
32
33                 //将 allLi里所有的元素导到一个数组中,之后  sort
34                 var arr = [];
35                 for(var i=0;i<allLi.length;i++){
36                     arr[i] = allLi[i];
37                 }
38
39                 //调用 sort
40                 arr.sort(function(li1,li2){
41                     //要把  li 中的数字取出,进行比较
42                     var n1 = parseInt( li1.innerHTML);
43                     var n2 = parseInt( li2.innerHTML);
44                     return n1-n2;
45                 });
46
47                 //将已经排好序的数组重新添加到 ul
48                 for(var i=0;i<arr.length;i++){
49                     oUl1.appendChild(arr[i]);
50                 }
51             }
52
53
54         }
55     </script>
56
57 </html>
时间: 2024-08-12 18:24:09

07-JS中 li 排序的相关文章

JS中对象排序

详细代码如下: var s=[{name:"abc",value:10},{name:"dbc",value:5},{name:"acc",value:15},{name:"ebc",value:50},{name:"bbc",value:80},{name:"aca",value:60}] //JS Object字符串排序 s.sort(function(a,b){ return a[

js中的排序

sort() 方法用于对数组的元素进行排序. 语法:arrayObject.sort(sortby):参数sortby可选.规定排序顺序.必须是函数. 注:如果调用该方法时没有使用参数,将按字母顺序对数组中的元素进行排序,说得更精确点,是按照字符编码的顺序进行排序.要实现这一点,首先应把数组的元素都转换成字符串(如有必要),以便进行比较. 如果想按照其他标准进行排序,就需要提供比较函数,该函数要比较两个值,然后返回一个用于说明这两个值的相对顺序的数字.比较函数应该具有两个参数 a 和 b,其返回

js中 的排序方法

冒泡排序思想:数组中相邻元素两两比较,如果第一个元素大于第二个元素,交换位置,第一轮比较结束,能确定一个最大值,然后进行第二类比较.var arr = [11,2,3,5,6,67];for(var i=1; i<arr.length; i++){for(var j=0; j<arr.length-i; j++){if(arr[j]>arr[j+1]){var temp = arr[j];arr[j] = arr[j+1];arr[j+1] = temp;}}} **选择排序** 思想:

JS中的排序算法(-)冒泡排序

冒泡排序算法 例子:10,8,9,6,4,20,5 第一轮  1)10>8  交换数据 得到:8,10,9,6,4,20,5 2)10>9  交换数据 得到:8,9,10,6,4,20,5 3)10>6  交换数据 得到:8,9,6,10,4,20,5 4)10>4  交换数据 得到:8,9,6,4,10,20,5 5)10<20  不交换数据 得到:8,9,6,4,10,20,5 6)20>5  交换数据 得到:8,9,10,6,4,5,20 结果:8,9,10,6,

js中的排序(sort相关)

对于一个数组的排序,默认的sort()按字符编码排序: var testArray=[3,324,5345,6546,134,5654,665]; testArray.sort(); alert(testArray); 按照数值大小排序: var testArray=[3,324,5345,6546,134,5654,665]; testArray.sort(function(a,b){return a-b;}); alert(testArray); //关于快速排序,之前看到过还有一种较为复杂

JS中对象按属性排序

在实际工作经常会出现这样一个问题:后台返回一个数组中有i个json数据,需要我们根据json中某一项进行数组的排序. 例如返回的数据结构大概是这样: { result:[ {id:1,name:'中国银行'}, {id:3,name:'北京银行'}, {id:2,name:'河北银行'}, {id:10,name:'保定银行'}, {id:7,name:'涞水银行'} ] } 现在我们根据业务需要,要根据id的大小进行排序,按照id小的json到id大的json顺序重新排列数组的顺序 在js中添

从零开始的JS生活(二)——BOM、DOM与JS中的事件

上回书说道,JS中变量.运算符.分支结构.循环和嵌套循环等内容.本回就由本K给大伙唠唠JS中的BOM.DOM和事件. 一."花心大萝卜"--BOM 1.震惊,FFF团为何对BOM举起了火把--BOM简介 BOM(Browser Object Model) 是指浏览器对象模型,在JS中BOM是个不折不扣的花心大萝卜,因为它有很多个对象,其中代表浏览器窗口的Window对象是BOM的"正室".也就是最重要的,其他对象都是正室的下手.或者叫侧室也不足为过. 2.细数BOM

js中的数组对象排序

一.普通数组排序 js中用方法sort()为数组排序.sort()方法有一个可选参数,是用来确定元素顺序的函数.如果这个参数被省略,那么数组中的元素将按照ASCII字符顺序进行排序.如: var arr = ["a", "b", "A", "B"]; arr.sort(); console.log(arr);//["A", "B", "a", "b"

no-jQuery 列表&lt;li&gt;排序插件 -- Sortable.js

项目里用到这个列表排序插件,比较好用,不依赖jQuery,另源码也有很多可借鉴的地方,故推荐给大家试试. 官方网站: http://rubaxa.github.io/Sortable/ Sortable Features Support touch devices and modern browsers Built using native HTML5 drag and drop API Simple API Lightweight, 2KB gzipped No jQuery Usage <u