在运行 Javascript 代码时,您拥有当前范围内的所有局部变量,因此如果您有以下代码:
var myObject = New Object();
myObject.Person = New Object();
myObject.Person.Name = "Mark";
myObject.Person.Gender = "Male";
myObject.Name = "object1";
...您的根对象将是 myObject,并且您通过点表示法引用后代对象。
但是,由于在浏览器中实现了 DOM,您还可以通过关键字继承window
对象。this
事实上,您可以在this
简单的情况下不使用关键字,即当您不使用闭包时。因此,您只需使用函数名称即可访问顶层的 Javascript 函数。
如果您想访问特定元素,就像您想要的那样,您需要学习 DOM,而不是使用您建议的语法(听起来像 1990 年代的 Javascript)。您需要知道的根元素是HTMLDocument
通过document
属性访问的对象。您可以使用文档元素的方法发现具有特定Id
(非Name
)属性的getElementById
元素。当然,如果您从一开始就为您的元素提供了一个唯一的 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>