jQuery length 属性: 如果有多个匹配元素,返回哪个元素的长度?

jQuery length property: Which element's length will be returned if there are more than one matched elements?

在声明中

var length = $(this).parent().parent().parent().children('tr').length;

其中 $(this).parent().parent().parent() 部分为我们提供了一个 <tbody> 元素,它恰好有 多个 tr 个子元素。

1那么 trtbody return 中由 $(this).parent().parent().parent() 编辑的 children 中的哪个 tr 是这个特定的 tr 其长度将被 .length 属性?

编辑

.................................................

来自documentation of the length property,

Description: The number of elements in the jQuery object.

我理解为:这里的'jQuery object'是一个tr元素,它是child的由 $(this).parent().parent().parent() 编辑的 tbody return 和此 jQuery 对象中的 'the number of elements'tds 在此 tr。所以这里的.length属性会return考虑trtd的个数吧?

2但是在给出的例子中 here(我正在复制下面的代码以供参考),语句

var n = $( "div" ).length;

分配 n body 中的 div 个数。 但它不应该包含 div 的 the/direct 个子元素的数量吗?

1。再一次,如果不同的 div 具有不同的长度,哪个 divlength 将被 returned?

<!doctype html>
<html lang="en">
<head>
  <meta charset="utf-8">
  <title>length demo</title>
  <style>
  body {
    cursor: pointer;
  }
  div {
    width: 50px;
    height: 30px;
    margin: 5px;
    float: left;
    background: green;
  }
  span {
    color: red;
  }
  </style>
  <script src="https://code.jquery.com/jquery-1.10.2.js"></script>
</head>
<body>
  <span></span>
  <div></div>
<script>
$( document.body )
  .click(function() {
    $( document.body ).append( $( "<div>" ) );
    var n = $( "div" ).length;
    $( "span" ).text( "There are " + n + " divs." +
      "Click to add more.");
  })
  // Trigger the click to start
  .trigger( "click" );
</script>

</body>
</html>

考虑 jQuery 个对象 length 并不意味着特定对象内的内容长度。

length return是匹配元素的 size/number。

$(this).parent().parent().parent().children('tr')  .  length
|_______________________________________________|     |____|
                         |preceding object               |Size of the preceding list

所以,如果 <tbody> 有 4 <tr>s - 长度将 return 4.