0
您是否知道爲什麼我的身體標記/元素在我嘗試使用時仍爲空?我有以下代碼:身體標記未定義或爲空
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1"/>
<title>Max</title>
<link rel="stylesheet" type="text/css" href="css/style.css"/>
<script>
alert(document.getElementsByTagName("*"));
function se(){
var twenty = document.getElementsByTagName("*")[20];
//twenty.children[1].children[0].children[1].innerHTML = "hiephoi";
}
se();
var fg = document.getElementsByTagName("body")[0];//undefined
</script>
</head>
<body>
<script>
alert(document.getElementsByTagName("*"));
function se(){
var twenty = document.getElementsByTagName("*")[20];
//twenty.children[1].children[0].children[1].innerHTML = "hiephoi";
}
se();</script>
:
:
:
如果我調試此,document.getElementsByTagName("*")
確實給在斷點元素的列表,但是,讓代碼運行提供了一個錯誤,當我問
document.getElementsByTagName("*")[20].children[1].children[0].children[1].innerHTML = "hiephoi";
它說document.getElementsByTagName("*")[20].children
不是對象,的確是未定義的。您可能想知道爲什麼我會使用通配符,但只是尋找任何特定的標記都不會返回任何內容。奇怪的是,通配符確實會返回一個節點列表。 我可以嘗試使用JQuery,但我試圖理解這一點。 我在想這可能與文檔的加載階段有關? 或者它可能是HTML包含一個丟失標籤的地方和JS變得困惑?