Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/446.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 根据元素的数量添加一个类_Javascript_Html_Css - Fatal编程技术网

Javascript 根据元素的数量添加一个类

Javascript 根据元素的数量添加一个类,javascript,html,css,Javascript,Html,Css,根据元素的数量,向一系列元素添加类的好方法是什么 因此,在这种情况下,如果有两个或更少的项,则类为“一半” -如果少于8,则应为应用于它们的“四分之一”类 是否有一种方法可以根据节中有多少“项”来添加/删除类 <section> <div class="item half"> 1 </div> <div class="item half"> 2 </div> </section> <section>

根据元素的数量,向一系列元素添加类的好方法是什么

因此,在这种情况下,如果有两个或更少的项,则类为“一半” -如果少于8,则应为应用于它们的“四分之一”类

是否有一种方法可以根据节中有多少“项”来添加/删除类

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

1.
2.
1.
2.
3.
4.
5.

您可以随时获得元素的计数,如

var elems = document.querySelectorAll(".item");
var count = elems.length;

if(count < 2) {
// add class half
} else if (count < 8) {
// add class quarter
}
var elems=document.querySelectorAll(“.item”);
变量计数=元素长度;
如果(计数<2){
//加半个班
}否则如果(计数<8){
//加班季
}

您可以随时获得元素的计数,如

var elems = document.querySelectorAll(".item");
var count = elems.length;

if(count < 2) {
// add class half
} else if (count < 8) {
// add class quarter
}
var elems=document.querySelectorAll(“.item”);
变量计数=元素长度;
如果(计数<2){
//加半个班
}否则如果(计数<8){
//加班季
}
您可以尝试以下方法:

$(文档).ready(函数(){
$('section')。每个(函数(i,sect){
var itemsinssection=$(sect.children('.item');
var count=itemsInSection.length;
如果(计数<3){
itemsInSection.addClass(“一半”);
}否则如果(计数<8){
itemsInSection.addClass(“季度”);
}
});
});

1.
2.
1.
2.
3.
4.
5.
您可以尝试以下方法:

$(文档).ready(函数(){
$('section')。每个(函数(i,sect){
var itemsinssection=$(sect.children('.item');
var count=itemsInSection.length;
如果(计数<3){
itemsInSection.addClass(“一半”);
}否则如果(计数<8){
itemsInSection.addClass(“季度”);
}
});
});

1.
2.
1.
2.
3.
4.
5.

您能发布到目前为止的内容吗?我不知道没有JavaScript,这是如何动态生成的?如果是的话,就应该通过它来完成。@P.Lalonde实际上有一种纯粹的css方式:@zerkms这太疯狂了。否则,我认为唯一的另一种方法是给出
元素,如
class=“countMe”
,然后执行
document.getElementsByClassName(“countMe”).length
,以获得元素数。免责声明:不适用于所有浏览器。@aznbanana9这真是太疯狂了。CSS从来都不是一个简单的方法来做任何事情。)你能发布你到目前为止所做的吗?我不知道没有JavaScript,这是如何动态生成的?如果是的话,就应该通过它来完成。@P.Lalonde实际上有一种纯粹的css方式:@zerkms这太疯狂了。否则,我认为唯一的另一种方法是给出
元素,如
class=“countMe”
,然后执行
document.getElementsByClassName(“countMe”).length
,以获得元素数。免责声明:不适用于所有浏览器。@aznbanana9这真是太疯狂了。CSS从来都不是一个简单的方法来做任何事情。)我会像这样把它放在脚本标记之间吗?var elems=document.querySelectorAll(“.item”);变量计数=元素长度;if(count<2){add class.one}else if(count<8){add class.two}是的,您还需要有代码来为div设置适当的类。将脚本标记放在结束体标记的正上方或头部。如果您要输入head,请确保您的代码只有在DOM就绪后才能执行。我是否可以像这样将其放在脚本标记之间?var elems=document.querySelectorAll(“.item”);变量计数=元素长度;if(count<2){add class.one}else if(count<8){add class.two}是的,您还需要有代码来为div设置适当的类。将脚本标记放在结束体标记的正上方或头部。如果您正在输入head,请确保您的代码只有在DOM就绪后才能执行。这很好!但是,我如何使它只计算“.item”呢。因为如果我有其他我不想计算的元素,这很有效!但是,我如何使它只计算“.item”呢。因为如果我有其他我不想计算的元素。