2013-08-28 6 views
0

Я хочу выбрать все дочерние классы attribute(tbox,tarea,cts,tox) внутри всех родителей.Выбрать все дочерние теги div во всех родительских тегах div

Это мой код:

<div class='cts'> 

var s = $('div.cts').children().attr('class'); 
alert(s); 

Но это показывает только первый родительский первый атрибут класса ребенок:

<fieldset id="tt"> 
    <div class="cts"> 
     <div class="tbox"> 
      <input type="text" /> 
     </div> 
    </div> 
    <div class="cts"> 
     <div class="tarea"> 
      <input type="hidden"> 
     </div> 
    </div> 
    <div class="cts"> 
     <div class="tss"> 
      <input type="password"> 
     </div> 
    </div> 
    <div class="cts"> 
     <div class="tox"> 
      <input type="text"> 
     </div> 
    </div> 
</fieldset> 
+0

пожалуйста прибраться код и предоставляют JS :) – Alex

ответ

1

использование find()

$('.cts'.find('*').each(function(){ 

    var attr = $(this).attr('class'); 

    if (typeof attr !== 'undefined' && attr !== false) { 

     alert($(this).attr('myattr')); 
    } 

}); 
2

Используйте .map, чтобы получить массив ,

var s = $('div.cts').children().map(function() { 
    return $(this).attr('class'); 
}); 
0

Попробуйте это:

var classes = ('div.cts *').map(function() { 
    return $(this).attr('class'); 
}); 

classes будет массив имен классов.

0

.attr() возвращает только первый, но вы можете сделать это, чтобы получить массив значений

var classes = [] 

$('div.cts').children().each(function(){ 
    classes.push(attr('class')); 
}); 

alert(classes); 
Смежные вопросы