ul li.....li ul 中间li有一千万的item,现在要给这一千万的li加一个onlick事件应该怎么做?

解决方案 »

  1.   


    //直接给ul一个oncilck
    <script language="javascript">
    function set()
    {
    obj = event.srcElement ? event.srcElement : event.target
    alert(obj.innerHTML)
    }
    </script>
    <ul onclick="set()">
    <li>sdf1</li>
    <li>sdf2</li>
    <li>sdf3</li>
    <li>sdf4</li>
    <li>sdf5</li>
    </ul>
      

  2.   


    //直接给ul一个oncilck
    <script language="javascript">
    function liOnclick(e)
    {
    e=e||event;
    e= event.srcElement || event.target
    if(e.tagName=="LI"){
    alert(e.innerHTML)
    }}
    </script>
    <ul onclick="liOnclick(event)">
    <li>sdf1</li>
    <li>sdf2</li>
    <li>sdf3</li>
    <li>sdf4</li>
    <li>sdf5</li>
    </ul>
      

  3.   

    可以这样写,但是我怀疑10000000的数据不好显示出来吧
    TO:1楼
    你那样写可能不行的
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head runat="server">
        <title>无标题页</title>    <script language="javascript" type="text/javascript">
    function test(e) {
    dom = e ? e.target : window.event.srcElement;
    alert(dom.innerHTML);
    }
        </script></head>
    <body>
    <ul onclick="test(event)">
    <li>a</li>
    <li>b</li>
    </ul>
    </body>
    </html>
      

  4.   


    <html xmlns="http://www.w3.org/1999/xhtml">
    <head runat="server">
        <title>无标题页</title>    <script language="javascript" type="text/javascript">
        function test(e) {
            dom = e ? e.target : event.srcElement;
            if(dom.tagName && dom.tagName.toLowerCase() == 'ul') {
                return;
            } else if(dom.tagName && dom.tagName.toLowerCase() == 'li'){
                change(dom);
            } else {
                do{
                    dom = dom.parentNode;   
                }while(dom.tagName && dom.tagName.toLowerCase() == 'li')
                change(dom); 
            }
        }
        function change(obj) {
            obj.style.backgroundColor = '#f00';
        }
        </script></head>
    <body>
    <ul onclick="test(event)">
        <li>a</li>
        <li>b</li>
    </ul>
    </body>
    </html>