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