//能得到值
        function checkType() {            
                $("#ouChildsTable tbody tr").each(function () {
                alert($(this).find("td").eq(1).html());
            });
            return false;        }//不能得到值
        function checkType() {  
            var jTBody = $("#ouChildsTable tbody").children("tr");
            for (var i = 0; i < jTBody.length; i++ ) {
                alert(jTBody[i].find("td").eq(1).html());
            }
       }为什么第二种方式运行,报错 对象不支持find属性或方法。

解决方案 »

  1.   

    改成下面试下 alert(jTBody.eq(i).find("td").eq(1).html());
      

  2.   

    function checkType() {  
                var jTBody = $("#ouChildsTable tbody").children("tr");
                for (var i = 0; i < jTBody.length; i++ ) {
                    alert($(jTBody[i]).find("td").eq(1).html());
                }
           }
      

  3.   

    Quote: 引用 2 楼 veryhunger 的回复:

    function checkType() {  
                var jTBody = $("#ouChildsTable tbody").children("tr");
                for (var i = 0; i < jTBody.length; i++ ) {
                    alert($(jTBody[i]).fi……[/quot]
    我想知道为什么。
      

  4.   

    jTBody[i].find("td").eq(1).html()这样取值得到的是HTML DOM对象,而不是jquery包装过的对象,DOM对象没有find方法,jq的才有。所以需要jTBody.eq(i)得到的是jq对象
      

  5.   

    jTBody[i]是指第i个tr,
    而$(jTBody[i])或$(this)是指第i个的tr内容,这样就可以找到。
      

  6.   


    那么 children得到的是一个 DOM对象么?
      

  7.   

    不是。。得到的jq包装后的jq对象数组楼主认真看下api,什么方法返回什么对象,返回DOM对象使用get方法或者[]数组下标操作,其他方法返回的都是jq包装后的对象
      

  8.   

    不是,可以这样验证一下,alert($.prototype.isPrototypeOf($("#ouChildsTable tbody").children("tr")));