我主要是C#,Java,PHP開發人員;關聯數據庫封裝。看似無關緊要,但是這種說法的有效先導,我覺得自己再次變成了15;瞪着這個...令人失望的簡單的JavaScript,似乎並沒有爲我提供任何東西。爲什麼不是這個javascript節點遍歷工作?
我的意圖是遍歷當前文檔中的節點,評估它們的屬性,並在特定節點上執行操作。我的代碼如下(再次......這麼簡單,我覺得自己很笨),但是輸出卻不一致。
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
<script type="text/javascript">
function TraverseDocument()
{
var Root = document.documentElement;
for(Element in Root.childNodes)
{
document.writeln(Element);
}
}
</script>
</head>
<body onLoad="javascript: TraverseDocument();">
<div id="test" testAttr="testData">
</div>
</body>
</html>
現在;考慮到這僅僅是我的第五通(教程,示例,等等),我嘗試了這個代碼的一些排列:
// document.writeln(Element.nodeType);
// document.writeln(Element.nodeName);
// document.writeln(Element.nodeValue);
所有這一切都拿出短;顯示'未定義'。當前代碼(如我的第一個代碼塊所示)輸出以下內容:
0 1 2 length item
任何人都可以指出我在哪裏出錯嗎?菜鳥問題;但我仍然無法控制住自己的手指。提前致謝。
嘗試使用'的console.log(元)'以確保你正在使用你正在使用的東西。 – Neal
@Neal:對,有些瀏覽器有'Element()'構造函數,所以可能會有一些奇怪的事情發生。我建議使用不同的迭代變量名稱。 – maerics
控制檯輸出相同的信息(如在我的第三個代碼塊中),分隔成新行。沒有太大的改進。 – DigitalJedi805