jQuery:遍历tbody元素并返回div元素

时间:2016-06-15 13:39:41

标签: javascript jquery

我有很多像下面的人一样,我试图循环通过tbody元素,然后我寻找两个div元素,以便给它们最大的高度:

<tbody class="form-row">
  <tr class="grp-tr djn-tr form-row has_original">

    <td style="" class="original">
      <p>
      </p>
    </td>

    <td class="grp-td djn-td">

      <div class="grp-readonly">
      </div>

    </td>

    <td class="grp-td djn-td">

      <div class="grp-readonly">
      </div>

    </td>
  </tr>
</tbody>

为什么函数波纹管没有找到div元素?以及如何获得两个div元素?

function myfunction() {
  var elements = $(".form-row");
  for (i = 0; i < elements.length - 2; i++) {
    alert(elements[i].nodeName); // works well, it shows TBODY
    var divs = $(elements[i].find("div.grp-readonly")); // Not working
    // some code here
  }
}

感谢。

1 个答案:

答案 0 :(得分:1)

$(elements[i].find("div.grp-readonly"));不正确,因为您必须将.find移到元素选民之外(换句话说是搞乱代码)。

为简单起见,请尝试使用$.each

&#13;
&#13;
function myfunction() {  
  $(".form-row").each(function () {
    var div = $(this).find('.grp-readonly');
    
    console.log(div);
  });
}

myfunction();
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<table>
  <tbody class="form-row">
    <tr class="grp-tr djn-tr form-row has_original">

      <td style="" class="original">
        <p>
        </p>
      </td>

      <td class="grp-td djn-td">

        <div class="grp-readonly">
        </div>

      </td>

      <td class="grp-td djn-td">

        <div class="grp-readonly">
        </div>

      </td>
    </tr>
  </tbody>
</table>
&#13;
&#13;
&#13;