2015-02-07 11 views
0

У меня есть следующий HTML, что я пытаюсь проверить:Как получить дочерние элементы

<div class="project-counts-nav-wrapper" style=""> 
    <ul id="project-counts" class="project-counts-nav" style=""> 
     <li style="">0 active projects</li> 
     <li style="">0 draft projects</li> 
     <li style=""> 
     0 archived projects (
     <a href="/projects_archived">View</a> 
     ) 
     </li> 
    </ul> 
</div> 

Как получить текстовое значение для каждого элемента тега «LI»?

У меня есть следующие стажер код расслоение плотной:

  .findByCssSelector('#project-counts') 
      .findAllByTagName('li') 
       .then(function(children){ 
       console.info('Show children length: ' + children.length); 
       console.info('children: ' + children); 
       for(var i=0; i<3; i++){ 
        // how do I get text for each element 
        console.info('Show children: ' + children[i]; 
       } 

       }).end(); 

Я вижу следующие с выхода:

Show children length: 3 
children: [object Object],[object Object],[object Object] 
Show children: [object Object] 
Show children: [object Object] 
Show children: [object Object] 

Я хотел бы получить:

0 active projects 
0 draft projects 
0 archived projects 

Спасибо, Брэд

ответ

0

Вот решение. Я добавил цепочку команды getVisableText после команды findAllByTagName:

  .findByCssSelector('#project-counts') 
      .findAllByTagName('li') 
      .getVisibleText() 
       .then(function(children){ 
       console.info('Show children length: ' + children.length); 
       console.info('children: ' + children); 
       for(var i=0; i < children.length; i++){ 
        console.info('Show each child: ' + children[i]); 
       } 

       }).end(); 
0

Для вас должно быть выполнено следующее: -

var liElements = document.getElementsByTagName('li'), 
i; 
for (i = 0; i < liElements.length; i++) { 
    console.info(liElements[i].textContent); 
} 

Приведенное выше должно печатать только текстовое содержимое по своему усмотрению. Примечание. Вы хотели бы пойти дальше и вставить имена классов в свой li и получить Элементы, используя это, чтобы вы не вытащили все ли на странице.

Codepen link

+0

Спасибо за ваш ответ/ответ. Мне это нужно, чтобы работать в рамках модуля Intern/Leadfoot. Я понял это и опубликую решение. – bkuhl

Смежные вопросы