2011-10-07 61 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> 
相关问题