0

我想选择所有attribute(tbox,tarea,cts,tox)父母中的所有儿童课程。

这是我的代码:

<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>
4

4 回答 4

2

用于.map获取数组。

var s = $('div.cts').children().map(function() {
  return $(this).attr('class');
});
于 2013-08-28T09:34:19.950 回答
1

利用find()

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

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

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

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

});
于 2013-08-28T09:34:06.133 回答
0

.attr() 只返回第一个,但您可以这样做来获取值的数组

var classes = []

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

alert(classes);
于 2013-08-28T09:37:41.000 回答
0

尝试这个:

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

classes将是一个类名数组。

于 2013-08-28T09:35:07.057 回答