如何给动态元素添加遍历

页面中已经有li而且添加了遍历each事件,用append再次生成新的li,each不生效了

append完后,你对新的li添加事件了吗

如果是jquery 1.8 以前的版本 用 $("#id").live(“click”,function(){}) 绑定事件
jquery 1.8以后废除了 live事件 用 $(document).on("click","#id",function(){}) 绑定事件
都可以实现对未出现的元素的绑定
如果不是jqury就不知道了

你可以在动态添加事件后面重新绑定each事件,和我这个动态添加的事件类似。

    <div class="fzh_box" id="fzh_box">
        <ul>
            <li>
                <a href="javascript:void(0)">我是元素一</a>
            </li>
            <li>
                <a href="javascript:void(0)">我是元素2</a>
            </li>
            <li>
                <a href="javascript:void(0)">我是元素3</a>
            </li>
            <li>
                <a href="javascript:void(0)">我是元素4</a>
            </li>
            <li>
                <a href="javascript:void(0)">我是元素5</a>
            </li>
        </ul>

    </div>
     <div class="box_span">
        <span><a href="javascript:void(0)">点我动态追加元素</a></span>
     </div>
<script type="text/javascript" src="js/jquery-1.11.2.min.js"></script>
<script type="text/javascript">
     $(function(){
         $(".box_span").find("a").click(function(){
             $("#fzh_box").find("ul").append("<li>"
                +"<a href='javascript:void(0)'>我是元素5</a>"
                +"</li>");

            $("#fzh_box").find("li").click(function(){
                 alert($(this).text());
             });

         });

         $("#fzh_box").find("li").click(function(){
             alert($(this).text());
         });
     })


</script>

这情况一般最好用delegate来绑定事件

你代码呢?事件中要重新获取一次li,而不是用一个变量存储之前的li,然后直接变量这个变量,这样获取不到新添加的li,而是在要执行的代码中重新获取li

$('xxxxxx').each(....)