요소
모든 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');