如何在jquery中检索多个级别的所有子元素的类名?

时间:2010-12-02 10:45:50

标签: jquery

我想在多个级别检索子元素的类名。我正在尝试跟随,但它只提供后方子元素的类名。我做错了什么?

    <script type="text/javascript">
    $(document).ready(function(){
    thisP=$("#myParagraph");
    getChildStyles(thisP);
   //function 
function getChildStyles(thisobj) {
var classNames;
var classNames1; 
$(thisobj).children().each(function(){  
    classNames+=$(this).attr('class');
    if($(this).children().length>0) {
            classNames1+=getChildStyles($(this));
        }
        classNames+=classNames1;        
    });
    return classNames;
}   
});
</script>

HTML,

   <ul id="myParagraph" class"mainUL">
   <li id="LIOne">ksjdfhsdf</li>
   <li id="LITwo">skdjfkdsf<span class"span1Class"><span class="span2class"></span>  
   </span></li>
   <li id="LIThree" class="thirdLIClass">edroiutret</li>
   </ul>

1 个答案:

答案 0 :(得分:2)

您可以使用.map()更简单地获取一些名称,如下所示:

$(document).ready(function(){
   var arrayOfClassNames = $("#myParagraph").find("[class]").map(function() {
     return this.className;
   }).get();
});

You can test it out here

如果你想要一个字符串,你可以arrayOfClassNames.join('') ...或者你想真正使用它。