根据元素的数量添加一个类
Add a class depending on number of elements
根据存在的元素数量向一系列元素添加类的好方法是什么?
所以在这种情况下如果有两个或更少的项目类是"half"-如果少于8个,应该用"quarter"类。
是否有一种方法来添加/删除一个类取决于有多少"项目"(s)有在一个部分?
<section>
<div class="item half"> 1 </div>
<div class="item half"> 2 </div>
</section>
<section>
<div class="item quarter"> 1 </div>
<div class="item quarter"> 2 </div>
<div class="item quarter"> 3 </div>
<div class="item quarter"> 4 </div>
<div class="item quarter"> 5 </div>
</section>
你总是可以得到你的元素的计数,如
var elems = document.querySelectorAll(".item");
var count = elems.length;
if(count < 2) {
// add class half
} else if (count < 8) {
// add class quarter
}
你可以试试:
$(document).ready(function(){
$('section').each(function(i, sect){
var itemsInSection = $(sect).children('.item');
var count = itemsInSection.length;
if(count < 3){
itemsInSection.addClass('half');
}else if(count < 8){
itemsInSection.addClass('quarter');
}
});
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<section>
<div class="item half"> 1 </div>
<div class="item half"> 2 </div>
</section>
<section>
<div class="item quarter"> 1 </div>
<div class="item quarter"> 2 </div>
<div class="item quarter"> 3 </div>
<div class="item quarter"> 4 </div>
<div class="item quarter"> 5 </div>
</section>
相关文章:
- 我可以在json对象中添加一个函数吗
- 如果使用 lodash 将属性存在于另一个对象中,则向对象添加属性
- 单击更改图标并通过javascript添加一个css类
- fluxxor向一个flux实例添加一组以上的操作
- 当在Ember中点击一个项目时,我如何将一个活动类添加到项目列表中
- 如何在Angular单元测试中从另一个控制器的rootScope将方法添加到rootScope中
- 将添加一个相同类型的事件附加或覆盖以前添加的具有相同名称的事件
- angularjs移除焦点上的活动类并添加到下一个项目
- 使用jquery contains获取一个元素并添加类
- 有没有添加一个ng点击到md背景
- 如何为下拉列表的每个选项添加一个属性
- javascript函数将数据添加到屏幕,但随后被另一个函数覆盖
- 单击删除其中一个添加的行
- 几个jQuery日期选择器小部件,只向其中一个添加类
- 我想创建一个添加新表单的按钮
- Babel v6:我如何/可以编写一个添加新语法(即新运算符)的插件
- GWT SimplePager -为每个下一个和上一个添加历史记录
- 自动提交表单上的最大长度,-为现有的一个添加java脚本代码
- 如何在jquery中移除一个添加了类的类
- 动态更改URL,而不需要将前一个添加到历史堆栈