어둠사자

자바스크립트에 관한 궁금증...

· 2009-09-15 (화) 18:38:35 · 1468 · 2
  1. function name(id) {
  2. var Display = document.getElementById(id).style.display;
  3.     if(Display == "none") {
  4.         Display = "block";
  5.     }
  6.     else {
  7.         Display = "none";
  8.     }
  9. }

위와 같이 되어있을 때,
Display 변수가 if 까지(셋째 줄)는 잘 되지만, if 안에서는 적용이 되지 않는 이유가 뭘까요?

아 물런 적용이 안되서 그냥
document.getElementById(id).style.display = "block"; 로 쓰고있긴 합니다.
|

댓글 2개

2009-09-15 (화) 18:48:09
var Display = document.getElementById(id).style.display;
이건 Display 란 변수에 스타일 값을 불러 들이는 것으로..
결국 Display 가 가지는 값은 단순 문자열 밖에 없습니다.

그래서
Display = "block";
해봐야 바뀌는건 없습니다.
Display 란 문자열 변수의 문자열 값만 바뀌는거죠..

var obj = document.getElementById(id);

# if(obj.style.display == "none") {
# obj.style.display = "block";
# }

위와 같이 해야겠죠..
위에서 obj는 엘리먼트를 가르키고.. 그 엘리먼트에 값을 집어 넣으면 적용 됩니다.
답변 감사합니다^^
댓글을 작성하시려면 로그인이 필요합니다.

자유게시판

202,898건
+
제목 글쓴이 날짜 조회
09-09-15 조회 1,894
09-09-15 조회 1,541
09-09-15 조회 1,746
09-09-15 조회 1,403
09-09-15 조회 1,255
09-09-15 조회 2,537
09-09-15 조회 1,474
09-09-15 조회 1,469
09-09-15 조회 1,213
09-09-15 조회 1,674
09-09-15 조회 1,506
09-09-15 조회 1,259
09-09-15 조회 1,310
09-09-15 조회 1,311
09-09-15 조회 1,299
09-09-15 조회 1,396
09-09-15 조회 1,560
09-09-15 조회 2,169
09-09-15 조회 1,872
09-09-15 조회 1,182