삼항연산자

var a = ( 조건문 ) ?  b  c  ;

               조건문이 true일때 b가 담기고, 조건문이 false일때 c가 담긴다.

 

if 조건문

if (a>b) {
	c =10;
} else {
	c= 20;
}

조건 (삼항)연산자

(a > b) ? c=10 : c=20;

html DOM 내에 iframe이 있고, 그 안에서 html 을 로드할 경우

페이지 내에 iframe이 있고, 그 안에 html페이지가 로드할 경우 사용

 

 

 

if 조건문

if ($('#iframe', parent.document).length > 0){
	var targetFrameContent = $('#iframe', parent.document).get(0);
	if (targetFrameContent.contentDocument) {
		targetFrameContent.contentDocument;
	} else {
		targetFrameContent.contentWindow.document;
	}
	('#iframe', parent.document).css({"height" : (targetFrameDocContent.body.scrollHeight + 17) + "px"});
}

 

조건 (삼항)연산자

if ($('#iframe', parent.document).length > 0){ 
	var targetFrameContent = $('#iframe', parent.document).get(0); 
    var targetFrameDocContent = (targetFrameContent.contentDocument) ? targetFrameContent.contentDocument : targetFrameContent.contentWindow.document;
	$('#iframe', parent.document).css({"height" : (targetFrameDocContent.body.scrollHeight + 17) + "px"});
}
		

삼항연산자를 사용하여 코드라인이 줄어드는 장점이 있으나 

가독성이 떨어 질 수 있으므로 증복처리는 피하는 것이 좋다.

  • if ($('#iframe', parent.document).length > 0){ ... }

      -  #iframe(자식요소)의 parent.document (iframe의 부모요소) 길이가 0보다 클 때 실행


 

  • var targetFrameContent = $('#iframe', parent.document).get(0);

       #iframe(자식요소)의 parent.document(iframe의 부모요소)에서 첫번째 인덱스(0)를 가져와 targetFrameContent 에 대입

    -  $(selector).get(index);  : 선택한 요소를 배열의 (index)번째로 가져온다. 

 


 

  • (targetFrameContent.contentDocument)  targetFrameContent.contentDocument  :  targetFrameContent.contentWindow.document ;

     -  contentDocument 프로퍼티 : iframe에 의해 생된 document 객체

      contentWindow 프로퍼티 : iframe에 의해 생성된 window객체

     -  true 일때 .contentDocument : document 객체 

     -  false 일때 .contentWindow.document : window의 document 객체

 


 

  • $('#iframe', parent.document).css( { "height" : (targetFrameDocContent.body.scrollHeight + 17) + "px" });

#iframe의 부모페이지 

scrollHeight의 픽셀(pixel)

scrollHeight는 읽기 전용 속성

 

참고 링크

https://strangelight.tistory.com/entry/iframe-%EB%B6%80%EB%AA%A8-%EC%9E%90%EC%8B%9D-%EC%A0%91%EA%B7%BC

 

iframe 부모 자식 접근

부모 함수 호출 시 parent.함수명 부모 요소 접근 시 $(parent.document).find('셀렉터') 부모 요소 접근 시 window.parent.document.getElementById('요소아이디') 자식 함수 호출 시 document.getElementById('..

strangelight.tistory.com

https://mylife365.tistory.com/10

 

[jQuery] iframe 접근, 제어

// iframe 접근 window.frames.length; // 1 window.frames[0].document; // iframe의 window의 document객체 document.getElementById('ifra..

mylife365.tistory.com

https://zeronica.tistory.com/80

 

jquery iframe 부모에 접근하기

아이프레임에서 부모의 노드에 속성을 변경할때는 아래의 방법을 사용한다. $(top.document).find("부모의 노드 아이디나 클래스").attr("height","500"); case 1. $('#id', parent.document) iframe에서 사용시 i..

zeronica.tistory.com

 

반응형

'UXUI Development > Javascript' 카테고리의 다른 글

API 문서 자동화 도구  (0) 2021.12.14
javascript 동적로딩  (0) 2019.06.12
script 내에 script호출  (0) 2019.06.12
html안에 html 로드 스크립트 분기처리  (0) 2019.06.12
자바스크립트  (0) 2019.05.29
날짜 분기 스크립트  (0) 2019.05.29
여러개의 스크롤이벤트 사용시  (0) 2019.03.19
Ajax(Asynchronous Javascript And XML)  (0) 2018.03.27

+ Recent posts