[JQUERY] 데이터 속성 값을 기준으로 JQuery와 정렬 목록
JQUERY데이터 속성 값을 기준으로 JQuery와 정렬 목록
해결법
-
1.() appendTo ()로 분류 사용해보십시오
() appendTo ()로 분류 사용해보십시오
$(".listitems li").sort(sort_li) // sort elements .appendTo('.listitems'); // append again to the list // sort function callback function sort_li(a, b){ return ($(b).data('position')) < ($(a).data('position')) ? 1 : -1; }
단편,
() {(기능 $ $ ( "많은 ListItems 리.") 종류 (sort_li) .appendTo ( '많은 ListItems..'); 함수 sort_li (a, b) { 창 ($ (b) .DATA ( '위치')) <($ (a) .DATA ( '위치'))? 1 : 27; } }); <스크립트 SRC = "https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"> script>
-
<리 데이터 위치 = "3"> 항목 3 리>
<리 데이터 위치 = "2"> 항목 2 리>
<리 데이터 위치 = "1"> 항목 1 리>
<리 데이터 위치 = "4"> 항목 4 리>
UL>
-
2.여러 목록보다는 하나 작업이 원하는 경우, 당신은 다음을 사용할 수 로한의 대답에 확장 :
여러 목록보다는 하나 작업이 원하는 경우, 당신은 다음을 사용할 수 로한의 대답에 확장 :
HTML :
<ul class="listitems autosort"> <li data-position="3">Item 3</li> <li data-position="2">Item 2</li> <li data-position="1">Item 1</li> <li data-position="4">Item 4</li> </ul> <ul class="listitems autosort"> <li data-position="5">Item 5</li> <li data-position="6">Item 6</li> <li data-position="3">Item 3</li> <li data-position="4">Item 4</li> </ul>
자바 스크립트 :
$(".listitems.autosort").each(function(){ $(this).html($(this).children('li').sort(function(a, b){ return ($(b).data('position')) < ($(a).data('position')) ? 1 : -1; })); });
그것은 당신이 원하는대로 당신이 많은 목록으로 추가 할 수 있도록 할 것이다 종류 모두 단지 클래스 자동 정렬을 설정하여.
라이브 예
-
3.내 제안은 전체 자바 스크립트입니다 :
내 제안은 전체 자바 스크립트입니다 :
document.addEventListener ( "DOMContentLoaded"함수 (E) { (document.querySelectorAll ( '. 많은 ListItems 리를')) Array.prototype.slice.call. 정렬 (기능 (A, B)을 { 창 a.getAttribute ( "데이터 위치") localeCompare (b.getAttribute ( "데이터 위치 ')).; }). 대해 forEach (함수 (currValue) { currValue.parentNode.appendChild (currValue); }); });
-
<리 데이터 위치 = "3"> 항목 3 리>
<리 데이터 위치 = "2"> 항목 2 리>
<리 데이터 위치 = "1"> 항목 1 리>
<리 데이터 위치 = "4"> 항목 4 리>
UL>
-
4.어떤 종류의 사용 및 DOM 내부 교체에 대한 함수 sortLiElements (a, b) { 창으로 parseInt ($ (a) .DATA ( '위치')) -으로 parseInt ($ (b) .DATA ( '위치')); } $ ( '많은 ListItems.') HTML ($ ( '많은 ListItems 리.') 종류 (sortLiElements).).; <스크립트 SRC = "https://cdnjs.cloudflare.com/ajax/libs/jquery/2.0.2/jquery.min.js"> script>
-
<리 데이터 위치 = "3"> 항목 3 리>
<리 데이터 위치 = "2"> 항목 2 리>
<리 데이터 위치 = "1"> 항목 1 리>
<리 데이터 위치 = "4"> 항목 4 리>
UL>
어떤 종류의 사용 및 DOM 내부 교체에 대한 함수 sortLiElements (a, b) { 창으로 parseInt ($ (a) .DATA ( '위치')) -으로 parseInt ($ (b) .DATA ( '위치')); } $ ( '많은 ListItems.') HTML ($ ( '많은 ListItems 리.') 종류 (sortLiElements).).; <스크립트 SRC = "https://cdnjs.cloudflare.com/ajax/libs/jquery/2.0.2/jquery.min.js"> script>
-
<리 데이터 위치 = "3"> 항목 3 리>
<리 데이터 위치 = "2"> 항목 2 리>
<리 데이터 위치 = "1"> 항목 1 리>
<리 데이터 위치 = "4"> 항목 4 리>
UL>
-
5.이 시도
이 시도
함수있는 sortList () { VAR 목록, I, 스위칭, B shouldSwitch; 목록 document.getElementById를 ( "id01을") =; 스위칭 = 참; / * 때까지 계속 루프를 확인 더 전환이 완료되지 않은 * / 반면 {(전환) 더 스위칭이 수행되지 않습니다 : // 말로 시작 : 스위칭 = FALSE; B = list.getElementsByTagName ( "LI"); 모든리스트 항목을 통해 // 루프 : 대 (I = 0; I <(b.length를 - 1); I ++) { // 어떤 전환이 없어야합니다 말해서 시작 : shouldSwitch = 거짓; / * 체크하면 다음 항목이해야 현재 항목과 장소를 전환 : * / //alert(b[i].getAttribute("order ")); 경우 (b [I] .getAttribute ( "순서").와 toLowerCase ()> B [I + 1] .getAttribute ( "순서").와 toLowerCase ()) { / * 다음 항목이 알파벳 인 경우 스위치로 표시, 현재 항목보다 낮은 루프 휴식 : * / shouldSwitch 사실 =; 단절; } } 경우 (shouldSwitch) { 스위치가 표시되어있는 경우 / * 전환 할 및 완료로 스위치를 표시 : * / B [i]를 .parentNode.insertBefore (b [I + 1], B [I]); 스위칭 = 참; } } } <버튼의 onclick = "있는 sortList ()"> 정렬 목록 버튼>
-
<리 오더 = "A"급 = "disname disheader"> 보류 리>
- (302-1) 에너지 소비 리>
- 302-3 에너지 강도 리>
- EN-31 환경 비용 / 투자 리>
- 103-2 환경 불만 리> <리 오더 = "D"클래스 = "disname disheader"> 비활성화 리> <리 오더 = "BB"등급 = "disname"> 305-4 발광 강도 리>
- 306-2 총 폐기물 리> <리 오더 = "BB"등급 = "disname"> 307-1 컴플라이언스 리>
- 302-4 에너지 / 전기 절감 이니셔티브 리> <리 오더 = "AA"등급 = "disname"> 303-1 추이 물 출금 리> <리 오더 = "AA"등급 = "disname"> 303-3 재활용 수 리> <리 오더 = "C"클래스 = "disname disheader"> 자동 생성 리>
- 305-1 온실 가스 배출 리>
- (305-2) 온실 가스 배출량 리>
- (305-3) 온실 가스 배출량 리>
<리 오더 = "BB"등급 = "disname"> 온실 가스 방출의 감소 05-5 리>
<리 오더 = "BB"등급 = "disname"> 306-1 배수 리>
<리 오더 = "B"클래스 = "disname disheader"> 연체 리>
UL>
Codepen 예
from https://stackoverflow.com/questions/21600802/jquery-sort-list-based-on-data-attribute-value by cc-by-sa and MIT license
'JQUERY' 카테고리의 다른 글
[JQUERY] 어떻게 JQuery와 모바일에서 뒤로 버튼 이벤트를 통제하기 위해? (0) | 2020.10.26 |
---|---|
[JQUERY] jQuery를 통해 ASP.NET 서버 측 메소드를 호출 (0) | 2020.10.26 |
[JQUERY] 온 클릭 모바일 (터치)에서 작동하지 (0) | 2020.10.26 |
[JQUERY] jQuery의 .toggle () 메소드 대체 지원의 EVENTDATA인가? (0) | 2020.10.26 |
[JQUERY] 다이나믹있는 jqGrid 컬럼 바인딩 (0) | 2020.10.26 |