即使元素存在,element.length也返回0

Eth*_*sin 0 html javascript jquery

下面的代码将动态创建5个表行.我不明白为什么td.length返回0,即使我已经创建它.有人可以向我解释原因吗?

<!doctype html>
<html>
<head>
<script src="jquery.js"></script>
<script>
    $(document).ready(function(){
        var table = $("#mytable");
        for(var c=1; c<6; c++){
            var id = "#row" + c;
            var tr = $("<tr><td id="+id+">Row "+c+"</td></tr>");
            table.append(tr);
        }
        var td = $("#row1");
        alert(td.length);
    });
</script>
</head>
<body>
    <table id="mytable">
    </table>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)

jfr*_*d00 6

id值本身不应包含#.

改变这个:

var id = "#row" + c;
Run Code Online (Sandbox Code Playgroud)

对此:

var id = "row" + c;
Run Code Online (Sandbox Code Playgroud)

与jQuery一起使用的选择器包含#但不包含id值.