знать число divs, который вне другого

мне хотелось бы знать: Как возможно получать количество divs, в этом случае класса div_principal, что не включены div класса div_global?. В этом случае он был бы должен возвращать стоимость.

<div class="div_global">
    <div class="div_principal"></div>
    <div class="div_principal"></div>
    <div class="div_principal"></div>
</div>

<div class="div_principal"></div>
<div class="div_principal"></div>
2
задан 07.01.2016, 09:36
4 ответа

Ты можешь использовать .not() чтобы удалять <div> что внутри.

var divsFuera = $(".div_principal").not(".div_global .div_principal").length;
console.log(divsFuera);
.div_global {
  border: 1px solid black;
}

.div_principal {
  height: 10px;
  background: red;
  margin: 5px;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="div_global">
    <div class="div_principal"></div>
    <div class="div_principal"></div>
    <div class="div_principal"></div>
</div>

<div class="div_principal"></div>
<div class="div_principal"></div>
5
ответ дан 24.11.2019, 15:01
  1. Рассказывает, Что полное количество элементов <div> внутри <div class="div_global">
  2. Считает количество <div class="div_principal">, которые у тебя были бы, и в них ты складываешь ему Ваши элементы <div> детей.
  3. ObtГ©n различие.
    var divG = $('.div_global div').length;
    var divP = $('.div_principal, .div_principal div').length;
    var dife = divG - divP;

у переменной dife есть то, в чем ты нуждаешься.

2
ответ дан 24.11.2019, 15:01

Более простая версия. В этом случае мы ищем .div_principal desciendentes прямые body с оператором выбора >:

var divsFuera = $('body > .div_principal').css('background', '#00BBFF');

$('#fuera').text($('#fuera').text() + divsFuera.length)
.div_global {
  background: #F7F7F7;
  padding : 5px;
}

.div_principal {
  height: 10px;
  background: #FFBB00;
  padding: 10px;
  margin : 5px;
  border-radius : 10px;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>  
<div class="div_global">
  <div class="div_principal"></div>
  <div class="div_principal"></div>
  <div class="div_principal"></div>
</div>

<div class="div_principal"></div>
<div class="div_principal"></div>

<div id="fuera"> Divs fuera : </div>
1
ответ дан 24.11.2019, 15:01

Ты можешь использовать этот cГіdigo

$(function() {
   var divs=0;
   $(".div_principal").each(function(){
          if(!$(this).parents("div").hasClass('div_global')){
                divs++;
          }
   });
   alert(divs);
});

можешь тестировать это в этом fiddle

0
ответ дан 24.11.2019, 15:01
  • 1
    Как совет, alert не метод действительного debug, потому что он может порождать проблемы как сбой browser, лучше использовать console.log для большего количества info смотреть здесь – Wilfredo 07.01.2016, 02:26

Теги

Похожие вопросы