Проверьте, есть ли у div-контейнера более одного div-inner нет jQuery

Доступ к элементам

protected можно получить:

  • через this указатель
  • или к тем же типам защищенных членов, даже если они объявлены в базе
  • или из классов друзей, функции

Чтобы решить ваше дело, вы можете использовать один из двух последних вариантов.

Accept Производится в Derived :: DoSomething или объявляет Derived friend к базе:

class Derived;

class Base
{
  friend class Derived;
  protected:
    int b;
  public:
    void DoSomething(const Base& that)
    {
      b+=that.b;
    }
};

class Derived : public Base
{
  protected:
    int d;
  public:
    void DoSomething(const Base& that)
    {
      b+=that.b;
      d=0;
    }
};

В некоторых случаях вы также можете рассматривать публичные геттеры.

1
задан Pelle2010 17 January 2019 в 14:04
поделиться

2 ответа

Вы можете использовать querySelectorAll()

for (const container of document.querySelectorAll('.container')) {
  if (container.querySelectorAll('.inner').length > 1) {
    container.classList.add('test');
  }
}
.test {
  color: red;
}
<div class="container">
  <div class="inner">Test</div>
</div>

<div class="container">
  <div class="inner">Test</div>
  <div class="inner">Test</div>
</div>

0
ответ дан Beniamin H 17 January 2019 в 14:04
поделиться

Вы должны использовать querySelectorAll() , чтобы получить весь контейнер и пройти через них, чтобы проверить длину внутреннего элемента div:

var container = document.querySelectorAll('.container');
container.forEach(function(el){
  var inner = el.querySelectorAll('.inner').length;
  if(inner > 1) {
    el.classList.add('test');
  }
  else {
    // do nothing
  }
});
.test {
  color: red;
  background-color: lightgray;
}
<div class="container">
  <div class="inner">Test</div>
</div>

<div class="container">
  <div class="inner">Test</div>
  <div class="inner">Test</div>
</div>

0
ответ дан Mamun 17 January 2019 в 14:04
поделиться
Другие вопросы по тегам:

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