>  기사  >  웹 프론트엔드  >  jQuery.clean 사용 방법 및 ideas_jquery 분석

jQuery.clean 사용 방법 및 ideas_jquery 분석

WBOY
WBOY원래의
2016-05-16 17:44:151508검색

1. jQuery.clean 사용법
jQuery.clean(elems, context,fragment,scripts);
2. 아이디어 분석
1 . 매개변수 컨텍스트를 처리하고 문서 루트 노드 문서인지 확인합니다
2. 매개변수 elems 배열 처리(배열 순환)
2.1 elem은 숫자이므로 문자열로 변환합니다
2.2 . elem은 잘못된 값입니다. 두 번째 루프
2.3. elem은 문자열입니다.
2.4. 문자열에 엔터티 번호나 html 태그가 없으면 텍스트 노드를 만듭니다.
2.5. 문자열은 엔터티 번호 또는 html 태그입니다.

코드 복사 코드는 다음과 같습니다.

div 요소를 생성하여 문서 조각에 삽입
xhtml 스타일 태그 처리
elem을 래핑하고 래핑된 문자열을 div의 innerHTML로 사용
래핑 깊이가 1보다 큰 경우 첫 번째 요소만 래핑 요소 레이어는 남습니다.
ie6 및 7의 빈 테이블 태그에 자동으로 추가된 tbody를 지웁니다.
IE9 이하 브라우저에서 제거되는 시작 부분의 빈 문자열을 div의 첫 번째 텍스트 하위 노드로 사용합니다. 요소
elem을 div(nodeList 객체)의 하위 노드 컬렉션에 재할당합니다.
이번에 제거 루프의 문서 조각에 있는 div는 다음 루프에서 깨끗한 div 요소를 유지합니다.

2.3. elem이 텍스트 노드인 경우 ret 배열에 직접 추가하여 반환하고, 그렇지 않으면 elem(nodeList Object)을 배열에 병합합니다
 2.4. IE6 및 7에서 선택 상태(체크됨)가 나타나는 버그를 수정합니다. ) 라디오 유형 및 체크박스 유형의 노드가 유효하지 않습니다
3. 매개변수 조각 처리
 3.1.ret의 각 노드는 문서 조각 조각에 추가됩니다
3.2. ret 배열에 추가합니다. 추가된 스크립트 위치는 원래 상위 요소 위치 뒤에 있습니다.
4. ret 배열로 돌아갑니다
3. 소스 코드 주석 분석
1. 및 함수에 사용되는 함수
코드 복사코드는 다음과 같습니다.

var nodeNames = "abbr|article|aside|audio|bdi|canvas|data|datalist|details|figcaption|Figure|footer|"
         "header|hgroup|mark|meter|nav|output|progress|section|summary|time|video",
     WrapMap = {
         옵션: [ 1, "