Html ファイルには、次のような多くのステートメントがあります。
<li class="menu"><a href="#">1st menu</a></li>
そしてjavascriptファイルには、次のようなコードがあります:
1. function onload()
2. {
3. var lists=document.getElementsByTagName("li");
4. for(var i=0;i<lists.length;i++){
5. if(lists[i].className=="menu"){
6. lists[i].a.onclick=genmenu;
7. }
8. }
9. }
function genmenu(){
alert("this is an alert");
return false;
}
問題は、リンク「最初のメニュー」をクリックしてもアラートが表示されないことです。しかし、6行目を変更して次のように書くと:
lists[i].onclick=genmenu;
次に、このリンクが機能し、アラートが表示されます。
私の質問、なぜ 6 行 目 (lists[i].a.onclick=genmenu;) が機能しないのですか? 有効なコードではありませんか?