在HTML文件中,我有很多的語句是這樣的:小javascript解決方案需要:這行是一個有效的代碼嗎?
<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(列表[I] .a.onclick = GENMENU)一點兒也不工作?這不是一個有效的代碼嗎?
也謝謝你的快速反饋 –
事實上,已經有一些與jQuery的選擇東西相當類似......'document.querySelectorAll('li.menu a [href]')'會給你列表中的所有鏈接具有一類「菜單」的項目。區別在於,(1)jQuery在IE7中工作:P,(2)jQuery添加了僞選擇器,這些在一些版本的CSS中不存在。 – cHao
querySelectorAll是DOM標準的一部分,可在大多數現代瀏覽器上使用,無需加載JQuery。請參閱https://developer.mozilla.org/en/DOM/document.querySelectorAll – HBP