Javascript 如何为每行/每行的最后一个元素设置不同的样式?

Javascript 如何为每行/每行的最后一个元素设置不同的样式?,javascript,jquery,css,Javascript,Jquery,Css,我一直在尝试使用 display:inline=block 我需要对每行/每行的最后一个元素进行不同的样式设置。我试过了 nth-child nth-of-type 然而,当我使用它时,它会与我的其他网格混淆。那么,在不添加新类的情况下,如何做到这一点呢?在CSS3中,如果您将每n个孩子与某个类型的类相关联,并且将每n个类型与另一个类型相关联,则每个孩子的样式可能会有所不同。 比如说, <html> <div class="nth-child"> //some

我一直在尝试使用

display:inline=block
我需要对每行/每行的最后一个元素进行不同的样式设置。我试过了

nth-child
nth-of-type

然而,当我使用它时,它会与我的其他网格混淆。那么,在不添加新类的情况下,如何做到这一点呢?

在CSS3中,如果您将每n个孩子与某个类型的类相关联,并且将每n个类型与另一个类型相关联,则每个孩子的样式可能会有所不同。 比如说,

<html>
<div class="nth-child"> 
   //some code
</div>

<div class="nth-of-type">
 //some code
</div>

</html>
我希望这就是你一直在寻找的,没有一个张贴的例子,这是有点难以理解你的确切意思。但是如果你想让我们使用JS,那么你需要创建一个JS函数 使用
“var elements=document.getElementsByClassName(“第n个子项”)”

在CSS3中,如果您将每n个子元素与某个类型的类关联,并且每n个类型与另一个类关联,则您可以循环使用“elements.length”,将每个元素样式设置为“none”

。 比如说,

<html>
<div class="nth-child"> 
   //some code
</div>

<div class="nth-of-type">
 //some code
</div>

</html>
我希望这就是你一直在寻找的,没有一个张贴的例子,这是有点难以理解你的确切意思。但是如果你想让我们使用JS,那么你需要创建一个JS函数 使用
“var elements=document.getElementsByClassName(“第n个子项”)”

您可以循环使用“elements.length”,将每个元素样式设置为“none”

据我从代码中看到的,您不能使用第n个子元素来实现您的目标。我将试着用一个例子来解释: 您希望将class=“four”部分的第四和第八个子项涂成红色。要使用第n个child或类型的第n个,必须引用从其父项开始的子项,即body。所以很难说body的孩子列表中的第四个和第八个孩子是class=“4”部分的第四个和第八个孩子,这一点都不灵活。 我认为你用错了,就像第四节:最后一个孩子,这是不对的。请检查:

此外,类型的第n个child和第n个child不能与选择器一起使用,而只能与元素一起使用,因此无法执行类似.four:nth child的操作(如果在节之外使用class=“four”创建div)

因此,不添加更多类的唯一方法是jquery,如下所示:

$('.four').last().css('background-color', 'red');

就我从您的代码中所看到的,您不能使用第n个孩子来实现您的目标。我将试着用一个例子来解释: 您希望将class=“four”部分的第四和第八个子项涂成红色。要使用第n个child或类型的第n个,必须引用从其父项开始的子项,即body。所以很难说body的孩子列表中的第四个和第八个孩子是class=“4”部分的第四个和第八个孩子,这一点都不灵活。 我认为你用错了,就像第四节:最后一个孩子,这是不对的。请检查:

此外,类型的第n个child和第n个child不能与选择器一起使用,而只能与元素一起使用,因此无法执行类似.four:nth child的操作(如果在节之外使用class=“four”创建div)

因此,不添加更多类的唯一方法是jquery,如下所示:

$('.four').last().css('background-color', 'red');

我们需要查看您的特定HTML/CSS,理想情况下,在JFiddle中进行评论<代码>:最后一个孩子可能有助于购买,但在您的家庭中可能不起作用circustances@Paulie_D这是我的文档不…不是链接…HTML和CSS最好简化为JSFIDLE。我们不需要使用开发人员工具来挖掘代码以找到特定的规则。@Paulie_D我认为没有任何选择器可以帮助您,因为您没有任何包装元素来定义“行”是什么以及它的开始和停止位置。请参阅@sissy的答案。我们需要查看您的特定HTML/CSS,理想情况下,在JFiddle中进行评论<代码>:最后一个孩子可能有助于购买,但在您的家庭中可能不起作用circustances@Paulie_D这是我的文档不…不是链接…HTML和CSS最好简化为JSFIDLE。我们不需要使用开发人员工具来挖掘代码以找到特定的规则。@Paulie_D我认为没有任何选择器可以帮助您,因为您没有任何包装元素来定义“行”是什么以及它的开始和停止位置。请参阅@sissy的答案。在CSS3中,您将分别使用
:nth-child()
:nth-of-type()
伪类。。。这就是问题的意思。@user2917241我真的不明白你想说什么。您正在使用第n个类型和第n个子类作为类。我不想再增加任何课程了。好吧,现在我想我明白你的意思了。如果你真的不想添加更多的类,就按照Sissy的建议去做吧。然而,我最初描述的方法只有在你用一个特定的用户定义类来分配你想要的元素时才有效。尽管如此,如果您选择添加更多的类,它将起作用。否则Jquery就是“在CSS3中”的答案,您将分别使用
:nth-child()
:nth-of-type()
伪类。。。这就是问题的意思。@user2917241我真的不明白你想说什么。您正在使用第n个类型和第n个子类作为类。我不想再增加任何课程了。好吧,现在我想我明白你的意思了。如果你真的不想添加更多的类,就按照Sissy的建议去做吧。然而,我最初描述的方法只有在你用一个特定的用户定义类来分配你想要的元素时才有效。尽管如此,如果您选择添加更多的类,它将起作用。否则,Jquery就是你的答案。虽然我同意,并且投票支持,但也许值得使用其他参考(W3Schools在这里没有很好的声誉),例如,或。它只改变了最后一个。我希望更改每一行的最后一个元素。是的,这只是一个示例:您必须在所有需要的情况下重复它。例如,在每行有两个元素的行中,您将执行以下操作(如果您有6个元素):