Jquery 使用第n个孩子

Jquery 使用第n个孩子,jquery,html,css-selectors,Jquery,Html,Css Selectors,我试图通过nav9添加nav1和它的工作原理,但它也在添加之前添加了所有额外的类。因此,第二个导航项目的类最终为“nav1 nav2”,依此类推。我只想要第一个导航项目为“nav1”,第二个导航项目为“nav2”,第三个导航项目为“nav3”,等等。以下是我的: $("#navigation ul li:nth-child(n)").addClass("nav1") $("#navigation ul li:nth-child(n+2)").addClass("nav2") $("#naviga

我试图通过nav9添加nav1和它的工作原理,但它也在添加之前添加了所有额外的类。因此,第二个导航项目的类最终为“nav1 nav2”,依此类推。我只想要第一个导航项目为“nav1”,第二个导航项目为“nav2”,第三个导航项目为“nav3”,等等。以下是我的:

$("#navigation ul li:nth-child(n)").addClass("nav1")
$("#navigation ul li:nth-child(n+2)").addClass("nav2")
$("#navigation ul li:nth-child(n+3)").addClass("nav3")
$("#navigation ul li:nth-child(n+4)").addClass("nav4")
$("#navigation ul li:nth-child(n+5)").addClass("nav5")
$("#navigation ul li:nth-child(n+6)").addClass("nav6")
$("#navigation ul li:nth-child(n+7)").addClass("nav7")
$("#navigation ul li:nth-child(n+8)").addClass("nav8")
$("#navigation ul li:nth-child(n+9)").addClass("nav9")
我看到上面写着n+#,但是我如何让它只显示我想要的1个类呢?

这样做吧

$("#navigation ul li").each(function(i){
   $(this).addClass('nav'+(i+1));
});
像这样做

$("#navigation ul li").each(function(i){
   $(this).addClass('nav'+(i+1));
});
试试这个:

$("#navigation ul li").each(function(i, v){
    $(this).addClass('nav' + (i + 1))
})
试试这个:

$("#navigation ul li").each(function(i, v){
    $(this).addClass('nav' + (i + 1))
})

你也可以这样做:

var liCount = $("#navigation ul li").size();
var modConstant = 9;
for(var i=0;i<liCount;i++){
    $("#navigation ul li:eq(" + i + ")").addClass("nav" + ((i % modConstant)+1));
}
var-liCount=$(“#导航ul-li”).size();
var modConstant=9;

对于(var i=0;i您也可以这样做:

var liCount = $("#navigation ul li").size();
var modConstant = 9;
for(var i=0;i<liCount;i++){
    $("#navigation ul li:eq(" + i + ")").addClass("nav" + ((i % modConstant)+1));
}
var-liCount=$(“#导航ul-li”).size();
var modConstant=9;

对于(var i=0;i您可以使用
每个函数
,这样它就不会一次又一次地重复该类。 声明你的变量,你想从什么数字开始你的类,例如
i=1
应用像nav1,nav2这样的类

不管有多少项,它都会按顺序添加类

var i = 1;
$(".nav li").each(function() {
    $(this).addClass('nav' + i);
    i++
})​

您可以使用
每个函数
,这样它就不会一次又一次地重复该类。 声明你的变量,你想从什么数字开始你的类,例如
i=1
应用像nav1,nav2这样的类

不管有多少项,它都会按顺序添加类

var i = 1;
$(".nav li").each(function() {
    $(this).addClass('nav' + i);
    i++
})​

在不必过多地清理javascript的情况下,我认为复习一下“第n个孩子”是什么以及如何使用它可能会很有用

在方程“n+5”中,“5”是起点,“n”是所有正整数(包括零)的集合。因此,CSS规则将应用于每个子元素,从5开始

在方程“2n+5”中,起始点是5,2n={0,2,4,6,8等}。因此CSS规则将应用于第5个子元素(0+5),然后是第7子元素(2+5),第9子元素(4+5),第11子元素(6+5),等等

因此,要修复代码,请从每个
nth-child()
指令中删除“n”

Ex:

改变

$(“#导航ul li:第n个子(n+6)”).addClass(“导航6”)

$(“#导航ul li:nth child(6)”).addClass(“nav6”)


请阅读此处了解更多详细信息…

在不必过多地清理javascript的情况下,我认为重新了解“n个孩子”是什么以及如何使用它可能会很有用

在方程“n+5”中,“5”是起点,“n”是所有正整数(包括零)的集合。因此,CSS规则将应用于每个子元素,从5开始

在方程“2n+5”中,起始点是5,2n={0,2,4,6,8等}。因此CSS规则将应用于第5个子元素(0+5),然后是第7子元素(2+5),第9子元素(4+5),第11子元素(6+5),等等

因此,要修复代码,请从每个
nth-child()
指令中删除“n”

Ex:

改变

$(“#导航ul li:第n个子(n+6)”).addClass(“导航6”)

$(“#导航ul li:nth child(6)”).addClass(“nav6”)


阅读此处了解更多细节…

如果我最后写了这样的东西,我会后退几步,看看更大的图景。它看起来不必要地重复,尽管这可能不是一个选择,但我会鼓吹重构,并重新思考方法,着眼于简单性和灵活性“我为什么要这么做呢?如果我最终写了这样的东西,我会后退几步,看看更大的图景。它看起来不必要地重复,尽管这可能不是一个选择,但我会鼓吹重构,并重新思考方法,着眼于简单性和灵活性。”“我为什么这么做真的。更干净。仍然有一个问题,为什么这是必要的(如果像检查它的位置这样的事情没有用)。@JaredFarrish抱歉,先生,我不理解你的评论,请随意编辑我的答案,使其更好。我一直在寻找学习写好答案和学习新事物的方法。”更干净。仍然有一个问题,为什么它是必要的(如果像检查它的位置这样的东西没有用)。@JaredFarrish抱歉,先生,我不理解你的评论,请随意编辑我的答案,使其更好。我一直在寻找学习写好答案和学习新事物的方法。:)