如果长度LI大于3,我想更改div的类,如果小于3,那么类名应该是默认值,如“ content ”,如果超过3则班级名称应为“滚动内容”
<div class="classname">
<ul>
<li>Content</li>
<li>Content</li>
<li>Content</li>
<li>Content</li>
</ul>
</div>
我更喜欢使用jQuery,
答案 0 :(得分:3)
尝试:
$("ul").each(function() {
$(this).parents("div.classname:first")
.addClass($(this).children().length > 3 ? "scroll-content" : "content");
});
或者类似的东西:
$("div.classname").each(function() {
$(this).addClass($(this).find("ul").children().length > 3 ? "scroll-content" : "content");
});
答案 1 :(得分:0)
$(function() {
if ( $("div.classname > ul li" ).length > 3 )
{
$("div.classname").removeClass().addClass('anotherclass');
}
else if ( ...)
{
// add another class
}
});
答案 2 :(得分:0)
可以通过一次通话完成,也可以没有条件
$('ul li:nth-child(4)')
.closest('div')
.removeClass('content')
.addClass('scroll-content');
这假设你的默认课程是你建议的'内容'。
此调用查找任何至少有4个子节点(即超过3个)的ul,然后找到最接近父节点的div,并删除默认类并添加scroll-content类。