12.5K
$("warning").style.display = "block";
좋아 보입니다. 간결하면서도 정확하죠. 이번에는 위 코드와 같은 결과를 내는 다른 예제를 보기로 하죠.
var elementIds = ["warning"];
var elements = new Array();
for (var i = 0; i < elementIds.length; i++) {
var element = elementIds[i];
if (typeof element == "string")
element = document.getElementById(element);
if (elementIds.length == 1)
break;
elements.push(element);
}
element.style.display = “block”;
프로그래머가 뭘 하고 있었는지 짐작이나 하시겠습니까?
아래에 있는 단 한줄의 코드로도 위 코드가 했던 일을 할 수 있습니다.
document.getElementById("warning").style.display = "block";
이제 $ 함수를 살펴보기로 하죠. 코드는 아래와 같습니다:
function $() {
var elements = new Array();
for (var i = 0; i < arguments.length; i++) {
var element = arguments[i];
if (typeof element == "string")
element = document.getElementById(element);
if (arguments.length == 1)
return element;
elements.push(element);
}
return elements;
}
$ 함수는 문자열 ID나 DOM 객체 참조가 될 수 있는 임의 갯수의 인자를 전달받아 객체 참조의 배열을 반환합니다. $ 함수는 여러 요소에 대한 참조를 획득하는데 안성맞춤이죠. 그렇지만 필요 여부에 관계없이 모든 코드가 $ 함수 안에서 실행되고 있습니다.
if (typeof element == "string")
element = document.getElementById(element);
이런 코드가 빈번하게 사용된다면 함수 안에 집어 넣어도 무방할 겁니다.
댓글