要写一个东西,是程序循环出来的,要根据每个id不同给他一个移入移除事件,就是鼠标放上去就显示,移开就影藏,id是动态的,请问怎么写啊??谢谢了!

解决方案 »

  1.   

    你的控件有容器吧,给容器加ID,获取容器后通过getElementsByTagName获取到控件,遍历添加事件,id都不需要
    <ul id="ulLIST"><li>1</li><li>2</li><li>3</li><li>4</li><li>5</li></ul>
    <script>
        var lis = document.getElementById('ulLIST').getElementsByTagName('li');
        for (var i = 0, j = lis.length; i < j; i++) {
            lis[i].onmouseover = function () { this.style.backgroundColor = 'blue'; }
            lis[i].onmouseout = function () { this.style.backgroundColor = 'transparent'; }
        }
    </script>
      

  2.   

    <style type="text/css">
        div{
            width:200px;
            height: 20px;
            border: 1px solid #ddd;
        }
    </style>
    <div id="d1">1</div>
    <button type="button" id="bu" onclick="div()">生成div</button>
    <script type="text/javascript">
        var i=1;
        function div(){
            i++;
            $("#bu").before("<div id='d"+i+"'>"+i+"</div>");
        }
        //关键是live的应用
        $(function(){
            $("div").live("mouseout",function(){
                $(this).css("border","1px solid #ddd");
            }).live("mouseover",function(){
                $(this).css("border","1px solid red");
            })
        });
    </script>
      

  3.   


     <ul id="ulLIST"><li>1</li><li>2</li><li>3</li><li>4</li><li>5</li></ul>
     <script>
        $(document).ready(function(){
    $("#ulLIST li").each(function(){
    $(this).mouseover(function(){
    $(this).css("backgroundColor","red");
    });
    $(this).mouseout(function(){
    $(this).css("backgroundColor","transparent");
    });
    });
    });
     </script>