요소

모든 APIModel 요소의 상위 클래스입니다. 모델을 다루는 데 필요한 기본 속성과 메서드를 제공합니다.

속성

이름타입설명
id<String>요소의 ID입니다.
type<String>요소의 타입입니다.
index<Number>부모 안에서 이 요소의 위치(인덱스)입니다.
parent<Element>부모 API 모델입니다.
nextSibling<Element>다음 형제 API 모델입니다.
previousSibling<Element>이전 형제 API 모델입니다.
firstChild<Element>첫 번째 자식 API 모델입니다.
lastChild<Element>마지막 자식 API 모델입니다.
children<Element[]>자식 API 모델들(배열)입니다.
siblings<Element[]>형제 API 모델들(배열)입니다.
nextSiblings<Element[]>다음 형제 API 모델들(배열)입니다.
previousSiblings<Element[]>이전 형제 API 모델들(배열)입니다.
className<String>2.13.0 버전부터 지원합니다. 요소의 className입니다.
attributes<String>2.13.0 버전부터 지원합니다. 요소의 속성(id, class, style 제외)입니다.
options<Object>옵션 객체입니다. 아래 options를 참고합니다.

옵션

모델을 사용할 때 전달되는 options 객체:

이름타입설명
skipUndoRedo<Boolean>편집 중 실행 취소/다시 실행을 건너뛸지 여부입니다.
skipRendering<Boolean>편집 중 렌더링을 건너뛸지 여부입니다.

메서드

closest(condition)

이름타입설명
condition<Function>각 요소를 테스트할 함수입니다.condition 함수의 첫 번째 인수: 현재 API 모델 요소.condition 함수의 반환값: <Boolean>

반환값: <Element> API 모델 요소

조건을 충족하는 가장 가까운 상위 API 모델을 반환합니다.

var run = editor.getAPIModelById('id');
var body = run.closest(function(apiModel){
    return apiModel.type === 'Body';
});

setId(id)

이름타입설명
id<String>모델에 설정할 ID 값입니다.

ID를 설정합니다.

var element = editor.getAPIModelById('id');
element.setId('test_setId');

setStyle(cssText)

이름타입설명
cssText<String>HTML DOM의 style 속성에 들어가는 문자열입니다.

스타일을 설정합니다.

var element = editor.getAPIModelById('id');
element.setStyle('background-color: red;');

empty()

모든 자식 요소를 제거합니다.

모든 자식 요소를 제거하면 이후 작업에서 오류가 발생할 수 있습니다.

var element = editor.getAPIModelById('id');
element.empty();

addClass(className)

2.13.0 버전부터 지원합니다.

이름타입설명
className<string>HTML DOM의 class 속성에 들어가는 문자열입니다.

className을 추가합니다.

var element = editor.getAPIModelById('id');
element.addClass('synap_editor');

removeClass(className)

2.13.0 버전부터 지원합니다.

이름타입설명
className<string>HTML DOM의 class 속성에 들어가는 문자열입니다.

className을 제거합니다.

var element = editor.getAPIModelById('id');
element.removeClass('synap_editor');

hasClass(className)

2.13.0 버전부터 지원합니다.

이름타입설명
className<string>HTML DOM의 class 속성에 들어가는 문자열입니다.

className이 존재하는지 확인합니다.

var element = editor.getAPIModelById('id');
element.hasClass('synap_editor');

setAttribute(name, value)

2.13.0 버전부터 지원합니다.

이름타입설명
name<String>HTML DOM에 추가할 속성 이름입니다.
value<String>HTML DOM에 추가할 속성 값입니다.

속성을 설정합니다.

var element = editor.getAPIModelById('id');
element.setAttribute('name', 'synap_editor');

removeAttribute(name)

2.13.0 버전부터 지원합니다.

이름타입설명
name<String>HTML DOM에서의 속성 이름입니다.

속성을 제거합니다.

var element = editor.getAPIModelById('id');
element.setAttribute('name');

하위 문서