父div有三个以上子div时的Sum div

use*_*037 3 jquery

我有一个简单的HTML结构与div元素.我想在div每个父级的子节点中找到值的总和div,但前提是父节点至少有三个子节点.

这就是我尝试过的,但它得到了每个div的总和:

var sum = 0;
$("div > div > div").each(function () {
    sum += parseInt($(this).text(), 10);
});

console.log(sum);
Run Code Online (Sandbox Code Playgroud)
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div>
    <div>
      <!-- want to calculate this --->
        <div>1</div>
        <div>1</div>
        <div>1</div>
        <div>1</div>
    </div>
    <div>
     <!-- don't want to calculate this --->
        <div>1</div>
        <div>1</div>
        <div>1</div>
    </div>
    <div>
      <!-- want to calculate this --->
        <div>1</div>
        <div>1</div>
        <div>1</div>
        <div>1</div>
    </div>
</div>
Run Code Online (Sandbox Code Playgroud)

所以在上面的例子中,我打印答案8.

Ban*_*ana 5

你可以检查每个div,如果它的父母有超过3个孩子:

var sum = 0;
$("div > div > div").each(function () {
  if($(this).parent().children('div').length >3){
    sum += parseInt($(this).text(), 10);
    }
});

console.log(sum);
Run Code Online (Sandbox Code Playgroud)
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div>
    <div>
      <!-- want to calculate this --->
        <div>1</div>
        <div>1</div>
        <div>1</div>
        <div>1</div>
    </div>
    <div>
     <!-- don't want to calculate this --->
        <div>1</div>
        <div>1</div>
        <div>1</div>
    </div>
    <div>
      <!-- want to calculate this --->
        <div>1</div>
        <div>1</div>
        <div>1</div>
        <div>1</div>
    </div>
</div>
Run Code Online (Sandbox Code Playgroud)