私はJavaスクリプトを初めて使っています。私はコードを練習しています。私は私のコードを頭のセクションに入れて、次に要素nullを取得し、bodyの中に入れて要素の前に置くとnullになります。それから私は要素を取得します。私はなぜ最初の2つのケースの場合に私がnullになっているのか尋ねたい。ここにここに私のコードいつ、どこにhtmlのjavascriptを入れるのですか
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title></title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<script type="text/javascript" src="js/attributes.js"></script> // null
</head>
<body>
<script type="text/javascript" src="js/attributes.js"></script> // null
<a id="braingialink"
onclick="return showAttributes();"
href="http://www.braingia.org" >Steve Suehring's Web Site
</a>
<script type="text/javascript" src="js/attributes.js"></script> // ok
</body>
は私のJavascriptを
var a1 = document.getElementById("braingialink"); //get null in first two cases
window.alert(a1.getAttribute("href"));
a1.setAttribute("href", "www.google.com");
window.alert(a1.getAttribute("href"));
function showAttributes() {
var e = document.getElementById("braingialink");
var elementList = "";
for (var element in e) {
/**
* Sometimes, especially when first programming with JavaScript, you might not know what
* attributes are available for a given element. But you don’t have to worry about that, because
* of a loop that calls the getAttribute() method.
*/
var attrib = e.getAttribute(element);
elementList = elementList + element + ": " + attrib + "\n";
} //end of for()
alert(elementList);
} //end of function showAttributes
であり、また、要素の後<script type="text/javascript" src="js/attributes.js"></script>
を置くこと、教えてください、私が書くのと同じですスクリプトタグのスクリプト(
)<a href="http://www.braingia.org" id="braingialink">Steve Suehring's Web Site</a>
<script type="text/javascript">
var a1 = document.getElementById("braingialink");
alert(a1.getAttribute("href"));
a1.setAttribute("href","http://www.microsoft.com");
alert(a1.getAttribute("href"));
</script>
どちらも同じ意味ですか?
おかげ
私は '
'を使う時に尋ねたいと思います。これは 'window.onload = someFunction(){...};'と同じですか?私のHTMLに ''という行を使用すると、.jsファイルの単純な関数 'function someFunction(){..}'を書くと同様に、 headセクションのmy .jsファイルと.jsファイルに 'window.onload = someFunction(){...};'と書く。どちらも同じですか? – Basitほとんど同じです。 '
htmlの属性として設定されたものは' window.onload = function(){something} 'と似ています。つまり、属性に入れたコードは、それはそのまわりに暗黙の関数を持っています。多くの人々は、JavaScriptをhtmlに混ぜない方が好きです。なぜなら、それは保守的な頭痛になる可能性があるからです。注:html属性で設定されたJavaScriptの前後に引用符を入れたいと思うでしょう。 – nnnnnn