我想在多个级别检索子元素的类名称。我正在尝试跟随,但它仅给出后方子元素的类名。我究竟做错了什么 ?

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

最佳答案

您可以使用.map()快速获取名称数组,如下所示:

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


You can test it out here

如果您想要一个字符串,您可以执行arrayOfClassNames.join('') ...,或者您实际上想使用它。

关于jquery - 如何在jquery中多个级别检索所有子元素的类名?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/4334063/

10-10 05:55