Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 08.11.2016, 17:49
Профессор
Отправить личное сообщение для DivMan Посмотреть профиль Найти все сообщения от DivMan
 
Регистрация: 08.03.2016
Сообщений: 429

Функция, которая считает количество элементов
как можно сократить код, неужели к каждому тегу, писать своё условие?

Как сделать, что бы сообщение Элементов с классом выводило только 1 раз, а не три?

<div class='c1'></div>
<div></div>
<span></span>
<a href=""></a>



function scanDOM(){
	var a = document.getElementsByTagName('*')
  var childNodes = document.body.childNodes
  
  var count = 0;
  var count1 = 0;
  var count2 = 0;
  var count3 = 0;
  var count4 = 1;
   
  for(var i = 0; i < a.length; i++){
  	if(a[i].tagName == 'DIV'){
    count++
    }
    
    if(a[i].tagName == 'SPAN'){
    count1++
    }
    
    if(a[i].tagName == 'A'){
    count2++
    }
    
    if(a[i].className){
    	 count3++
    }
     console.log('Элементов с классом ' + a[i].className + ' '+ count4)
  }
  	console.log('Тэгов div' + ': ' +count)
    console.log('Тэгов span' + ': ' +count1)
    console.log('Тэгов a' + ': ' +count2)
    
    
     for (var i = 0; i < childNodes.length; i++) {
   		if(childNodes[i].nodeType == 3){
   			count4++
   }
	}
  
  console.log('Текстовых узлов: ' + count4)
}
scanDOM()


в песочнице https://jsfiddle.net/p6b8nqxb/

Последний раз редактировалось DivMan, 08.11.2016 в 18:41.
Ответить с цитированием
  #2 (permalink)  
Старый 08.11.2016, 19:03
Профессор
Отправить личное сообщение для DivMan Посмотреть профиль Найти все сообщения от DivMan
 
Регистрация: 08.03.2016
Сообщений: 429

Я так сделал

https://jsfiddle.net/vubq84e4/

и теперь для каждого класса, надо будет создавать свой массив?
Ответить с цитированием
  #3 (permalink)  
Старый 08.11.2016, 19:42
Аватар для Aetae
Тлен
Отправить личное сообщение для Aetae Посмотреть профиль Найти все сообщения от Aetae
 
Регистрация: 02.01.2010
Сообщений: 6,590

Использовать объекты тут логичнее всего: https://jsfiddle.net/vubq84e4/1/
__________________
29375, 35
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Динамическое создание iframe в Firefox mrbean11 Firefox/Mozilla 8 02.11.2012 21:23
Функция которая отменяет все обработчики и устанавливает свой itoldya jQuery 7 01.11.2012 22:09
.height() почему-то считает высоту элемента неправильно adelante jQuery 11 01.08.2012 15:38
Не срабатывает функция, которая выводит fancybox. DeXtR Events/DOM/Window 0 22.04.2011 12:07
Функция которая работает на OnLoad не хочет работать на OnClick libinstyle Элементы интерфейса 6 23.03.2010 01:42