これはよくある質問です。 bodyタグにonload()を使う方法、DOM要素の後にスクリプトを置いて自己呼び出し関数を使う方法などすべてを試しました。 しかし、私の要素は未定義です。body.getElementsByTagNameは本文の後にスクリプトを配置するときにundefinedを返します
P.S:document.getElementsByTagName('')
がdocument.getElementById('')
で置き換えられます。何故ですか?私の疑いの両方を説明してください。ここに私の簡単なコード
<!DOCTYPE html>
<html>
<head>
<title></title>
</head>
<body onload="loadHandler()">
<p>Drag me!</p>
<script type="text/javascript">
function loadHandler() {
document.getElementsByTagName('p').setAttribute('draggable', true);
}
</script>
</body>
</html>
「getElementsByTagName」はgetElementByIdが単一の要素を返すだけの配列を返すためだと思います。 私は遅すぎました:D – Patte
'getElementsByTagName'が' HTMLCollection'を返しました。あなたは表記のような配列を使ってその要素にアクセスできます。 –