Проверка на существование div js

345
26 ноября 2016, 17:58

Как проверить правильно на существование дива?

window.onload = function() { 
  // тайтлы 
 
  var elemForTitle = document.getElementsByClassName("field-name-field-season"); 
 
  if (elemForTitle.length > 0) { 
    elemForTitle[0].title += "Время использования изделия: зима, лето или круглый год"; 
    elemForTitle[0].className += " titleshowcl"; 
  } 
  var elemForTitleS1 = document.getElementsByClassName("field-name-field-weight"); 
  var elemForTitleS2 = document.getElementsByClassName("field-name-field-length"); 
  var elemForTitleS3 = document.getElementsByClassName("field-name-field-shirina"); 
  var elemForTitleS4 = document.getElementsByClassName("field-name-field-visota"); 
  var elemForTitleS5 = document.getElementsByClassName("field-name-field-crew"); 
 
  if (elemForTitleS1.length > 0) { 
    elemForTitleS1[0].title += " Вес изделия"; 
    elemForTitleS1[0].className += " titleshowcl"; 
  } 
 
  if (elemForTitleS2.length > 0) { 
    elemForTitleS2[0].title += " Длина изделия"; 
    elemForTitleS2[0].className += " titleshowcl"; 
  } 
 
  if (elemForTitleS3.length > 0) { 
    elemForTitleS3[0].title += " Ширина изделия"; 
    elemForTitleS3[0].className += " titleshowcl"; 
  } 
 
  if (elemForTitleS4.length > 0) { 
    elemForTitleS4[0].title += " Высота изделия"; 
    elemForTitleS4[0].className += " titleshowcl"; 
  } 
 
  if (elemForTitleS5.length > 0) { 
    elemForTitleS5[0].title += " Вместимость изделия, человек"; 
    elemForTitleS5[0].className += " titleshowcl"; 
  } 
};
<div class="group-spec field-group-div"> 
  <div class="field field-name-field-weight field-type-number-integer field-label-inline clearfix"> 
    <div class="field-label">Вес:&nbsp;</div> 
    <div class="field-items"> 
      <div class="field-item even">24 кг</div> 
    </div> 
  </div> 
  <div class="field field-name-field-length field-type-number-integer field-label-inline clearfix"> 
    <div class="field-label">Длина:&nbsp;</div> 
    <div class="field-items"> 
      <div class="field-item even">550 см.</div> 
    </div> 
  </div> 
  <div class="field field-name-field-crew field-type-range-integer field-label-inline clearfix"> 
    <div class="field-label">Экипаж:&nbsp;</div> 
    <div class="field-items"> 
      <div class="field-item even">2&ndash;3 чел.</div> 
    </div> 
  </div> 
</div>

Answer 1

getElementsByClassName возвращает коллекцию. Поэтому чтобы проверить есть ли в ней что-то или нет, нужно проверить свойство length

свойство length показывает сколько элементов находится в коллекции. Если в коллекции нет элементов - значение будет 0, если есть хотя бы 1 - не 0.

READ ALSO
Зачем здесь использовать call?

Зачем здесь использовать call?

Когда вызвать эту функцию без call, то она выведет undefined undefinedНо почему? Если я передал ей аргумент user, и ее this становится user

177
Яндекс блок &#171;Поделиться&#187; не появляется в динамически добавленном блоке

Яндекс блок «Поделиться» не появляется в динамически добавленном блоке

История такая: сайт из одной страницы, есть изначально скрытый (display:none) блок #ghost, в нем изначально пустой блок 'albom'

314