而你正在運行的JavaScript代碼,您必須在當前範圍內的所有局部變量,所以如果你有以下代碼:
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,而不是使用你所建議的語法(聽起來像20世紀90年代的Javascript)。您需要知道的根元素是HTMLDocument
對象,可通過document
屬性進行訪問。您可以使用文檔元素的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>
在JavaScript中,甚至函數可以是匿名的。你能用一些代碼來解釋你在做什麼時遇到麻煩嗎? – Nosredna 2009-11-25 23:28:33