我想在多个级别检索子元素的类名。我正在尝试跟随,但它只提供后方子元素的类名。我做错了什么?
<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>
答案 0 :(得分:2)
您可以使用.map()
更简单地获取一些名称,如下所示:
$(document).ready(function(){
var arrayOfClassNames = $("#myParagraph").find("[class]").map(function() {
return this.className;
}).get();
});
如果你想要一个字符串,你可以arrayOfClassNames.join('')
...或者你想真正使用它。