+ -
当前位置:首页 → 问答吧 → 关于append 之后无法捕获append 的元素的问题

关于append 之后无法捕获append 的元素的问题

时间:2009-08-20

来源:互联网

大家好,
今天拿 jQuery做个练习    

主要是申请一个json 传过来插入到table 页面里  ,之后再做出那种斑马线表格的效果

但是目前遇到的问题是    插入到table里的tr 不会被jquery  的选择器捕获到   想求教下各位是为啥   thx

-----------传的json---------------------
[{"Name":"Test0","Age":0,"Address":"Address0"},
{"Name":"Test1","Age":1,"Address":"Address1"},
{"Name":"Test2","Age":2,"Address":"Address2"},
{"Name":"Test3","Age":3,"Address":"Address3"},
{"Name":"Test4","Age":4,"Address":"Address4"},
{"Name":"Test5","Age":5,"Address":"Address5"},
{"Name":"Test6","Age":6,"Address":"Address6"},
{"Name":"Test7","Age":7,"Address":"Address7"},
{"Name":"Test8","Age":8,"Address":"Address8"},
{"Name":"Test9","Age":9,"Address":"Address9"}]
---------------jquery代码--------------------

    <script type="text/javascript">
        $(function() {
            $.ajax({
                url: "DoData.ashx",
                success: function(data) {
                    var tmp = eval(data);
                    $.each(tmp, function(i) {
                        var row;
                        row = "<tr><td>" + tmp.Name + "</td><td>" + tmp.Age + "</td>";
                        $("#tb").append(row);
                    });
                }
            });
            $("table tr:even").addClass("color").mousemove(function() { $(this).removeClass(); });     //这句话中,被添加的tr 没有被选择进去


        });
    </script>

-----------html部分代码-------------
<table id="tb">
    <tr>
        <td>test</td>
        <td>test</td>
</tr>
    <tr>
        <td>test</td>
        <td>test</td>
</tr>
    <tr>
        <td>test</td>
        <td>test</td>
</tr>
    <tr>
        <td>test</td>
        <td>test</td>
</tr>
</table>

-----------------------------------------

作者: atpking   发布时间: 2009-08-20

自回   研究出来了    
jquery  的选择器貌似只能选择固化在代码中的东西  而不能动态的找DOM?

但是 filter提供了找DOM 的功能    

只需把代码改成如下即可
    <script type="text/javascript">
        $(function() {
            $.ajax({
                url: "DoData.ashx",
                type: "json",
                //data: "name=John&location=Boston",
                success: function(data) {
                    var tmp = eval(data);
                    $.each(tmp, function(i) {
                        var row;
                        row = "<tr><td>" + tmp.Name + "</td><td>" + tmp.Age + "</td>";
                        $("#tb").append(row).filter("table tr:even").addClass("aa");
                    });
                }
            });
         //   $("table tr:even").addClass("color").mousemove(function() { $(this).removeClass(); }).filter("tr:even").addClass("aa");


        });
    </script>

作者: atpking   发布时间: 2009-08-20