하다니 당신은 자바 스크립트 코드를 실행하면 현재 범위에있는 모든 지역 변수를 가지고 그래서 당신은 다음과 같은 코드가 있다면 :
var myObject = New Object();
myObject.Person = New Object();
myObject.Person.Name = "Mark";
myObject.Person.Gender = "Male";
myObject.Name = "object1";
이 ... 루트 객체 인 myObject 것을, 점 표기법을 통해 하위 오브젝트를 참조하십시오.
그러나 브라우저에서 DOM을 구현 한 덕분에 this
키워드를 사용하여 window
개체를 상속 할 수 있습니다. 사실 단순한 상황, 즉 클로저를 사용하지 않을 때 this
키워드를 그대로 둘 수 있습니다. 따라서 함수 이름을 사용하여 최상위 레벨에서 Javascript 함수에 액세스 할 수 있습니다.
원하는 요소처럼 원하는 요소에 액세스하려면 DOM을 배우고 제안한 구문 (예 : 1990 년 Javascript와 같은)을 사용하지 않아야합니다. 알아 두어야 할 루트 요소는 document
속성을 통해 액세스되는 HTMLDocument
개체입니다. 문서 요소의 getElementById
메서드를 사용하여 특정 Id
(Name
아님) 특성이있는 요소를 찾을 수 있습니다. 물론 요소를 처음부터 고유 한 ID로 지정하면 도움이됩니다. childNodes
컬렉션을 재귀 적으로 사용하여 원하는 것을 찾을 때까지 요소를 수동으로 반복 할 수도 있습니다. 또는 실제로 ID를 제공 할 수없는 경우 getElementsByTagName
메서드를 사용할 수도 있습니다.이 메서드는 DOM의 모든 요소에 연결됩니다.
예 :
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<HTML>
<HEAD>
<TITLE></TITLE>
<META NAME="Generator" CONTENT="TextPad 4.6">
<META NAME="Author" CONTENT="?">
<META NAME="Keywords" CONTENT="?">
<META NAME="Description" CONTENT="?">
<SCRIPT LANGUAGE="Javascript">
<!--
function DoSummat()
{
var divInside = document.getElementById("Inside");
divInside.textContent = "This text will appear inside.";
}
//-->
</SCRIPT>
</HEAD>
<BODY BGCOLOR="#FFFFFF" TEXT="#000000" LINK="#FF0000" VLINK="#800000" ALINK="#FF00FF" BACKGROUND="?">
<FORM>
<INPUT TYPE="BUTTON" onclick="DoSummat();" NAME="MyButton" VALUE="Press Me">
</FORM>
<DIV ID="Outside">
<DIV ID="Middle">
<DIV ID="Inside"></DIV>
</DIV>
</DIV>
</BODY>
</HTML>
자바 스크립트에서, 심지어 기능은 익명이 될 수 있습니다. 어떤 코드를 사용하여 문제가 발생했는지 설명 할 수 있습니까? – Nosredna