2011-10-07 58 views
1

任何人都可以請我的簡單腳本幫助我嗎?我有一個html代碼中的顏色列表,只需要讓我的js代碼彈出一個警報與點擊列表項值。請幫幫我!以下是我有:如何通過點擊列表項目元素來調用警報窗口?

HTML

<ul id="mylist"> 
    <li>White </li> 
    <li>Silver </li> 
    <li>Dark Gray</li> 
    <li>Khaki </li> 
</ul> 

這裏是JS代碼(它顯示與窗口加載列表項值的警報,但我需要它點擊每個後出現項)

<script language="JavaScript"> 
<!-- 
    var a = document.getElementById('mylist').document.getElementsByTagName('li'); 
    var b=[]; 
    for(i=0;i<a.length;i++) 
    { 
    b=a[i].innerText; 
    alert(b); 
    } 
//--> 
</script> 

回答

2
var a = document.getElementById('mylist').getElementsByTagName('li'); 

for(var i = 0; i < a.length; i++){ 
     a[i].onclick = function(){ 
      alert(this.innerHTML); 
     } 
} 

演示:http://jsbin.com/ayefap/2/

+0

嗨!非常感謝你的幫助!我對javascripting完全陌生。你可以請eaxplain關於你在alert中調用的'this'嗎? – user976813

+0

@ user976813'this'指對象本身。 – Neal

0
var a = document.getElementById('mylist').getElementsByTagName('li'); 

document.getElementById("myList")沒有.document

如果你使用Firebug或Chrome控制檯你那裏得到這個錯誤。

0

沒有進入原始的JavaScript掛鉤點擊處理程序,你可以這樣做:

<li><a href="javascript://" onclick="alertMe(this)">White</a></li> 

JS:

function alertMe(element) { 
     alert(element.innerText) 
} 
0
<ul id="mylist"> 

    <li><a href="javascript:void(0)" onclick="clickMe(this)">White</a></li> 
     <li>Silver </li> 
      <li>Dark Gray</li> 
       <li>Khaki </li> 
</ul> 

添加到您的頭部分:

<script type="text/javascript"> 
function clickMe(cid){ 
alert(cid.innerHTML); 

} 
</script> 
相關問題