Javascript 选择具有相同父级的多个类
假设我有以下几点:Javascript 选择具有相同父级的多个类,javascript,css,styles,stylesheet,rule,Javascript,Css,Styles,Stylesheet,Rule,假设我有以下几点: <div id="container"> <div id="content"> <span class="first"></span> <span class="second"></span> </div> </div> #container #content .first, #container #content .second
<div id="container">
<div id="content">
<span class="first"></span>
<span class="second"></span>
</div>
</div>
#container #content .first, #container #content .second { font-weight: bold; }
但是有没有办法缩短这个时间呢?例如:
#container #content .[first|second] { font-weight: bold; }
当然,在这个例子中,我没有保存太多的字符,但我有过一些实际的例子,在这些例子中,像这样缩短字符会有所帮助
那么,这样的事情可能吗?我四处搜索,什么也找不到,但我希望能有办法做到这一点?我想,一种极端的方法是使用JavaScript之类的东西。首先,在CSS中,单独使用它是无法做到这一点的,但是有一些称为CSS预处理器的东西使这样的行为成为可能。使用像or这样的预处理器,您通常会按照
#container #content{
/* css specific for this element */
.first,.second{
/* css specific for elements with class first or second contained in #container #content
}
}
缺点是,每次在服务器端更改css时,都需要在客户端执行javascript或运行预处理器。这方面有几个自动化的工作流,但这是另一个问题。首先,在CSS中,单独做这样的事情是没有办法的,但是有一些称为CSS预处理器的东西使这样的行为成为可能。使用像or这样的预处理器,您通常会按照
#container #content{
/* css specific for this element */
.first,.second{
/* css specific for elements with class first or second contained in #container #content
}
}
缺点是,每次在服务器端更改css时,都需要在客户端执行javascript或运行预处理器。这方面有几个自动化的工作流,但这是另一个问题。首先,在CSS中,单独做这样的事情是没有办法的,但是有一些称为CSS预处理器的东西使这样的行为成为可能。使用像or这样的预处理器,您通常会按照
#container #content{
/* css specific for this element */
.first,.second{
/* css specific for elements with class first or second contained in #container #content
}
}
缺点是,每次在服务器端更改css时,都需要在客户端执行javascript或运行预处理器。这方面有几个自动化的工作流,但这是另一个问题。首先,在CSS中,单独做这样的事情是没有办法的,但是有一些称为CSS预处理器的东西使这样的行为成为可能。使用像or这样的预处理器,您通常会按照
#container #content{
/* css specific for this element */
.first,.second{
/* css specific for elements with class first or second contained in #container #content
}
}
缺点是,每次在服务器端更改css时,都需要在客户端执行javascript或运行预处理器。有两个自动化的工作流用于此,但这是另一个问题。由于ID必须是唯一的,因此无需使用
\container\content
您可以使用“直接子选择器”:
由于ID必须是唯一的,因此无需使用
#container#content
您可以使用“直接子选择器”:
由于ID必须是唯一的,因此无需使用
#container#content
您可以使用“直接子选择器”:
由于ID必须是唯一的,因此无需使用
#container#content
您可以使用“直接子选择器”:
由于ID必须是唯一的,您可以将其简化为:
#内容。第一,#内容。第二
CSS3提供<代码>:匹配<代码>:
#内容:匹配(.first、.second)
然而,正如你所看到的,它并不短!而且它还是新的,所以旧的浏览器不支持它。由于ID必须是唯一的,您可以将其简化为:
#内容。第一,#内容。第二
CSS3提供<代码>:匹配<代码>:
#内容:匹配(.first、.second)
然而,正如你所看到的,它并不短!而且它还是新的,所以旧的浏览器不支持它。由于ID必须是唯一的,您可以将其简化为:
#内容。第一,#内容。第二
CSS3提供<代码>:匹配<代码>:
#内容:匹配(.first、.second)
然而,正如你所看到的,它并不短!而且它还是新的,所以旧的浏览器不支持它。由于ID必须是唯一的,您可以将其简化为:
#内容。第一,#内容。第二
CSS3提供<代码>:匹配<代码>:
#内容:匹配(.first、.second)
然而,正如你所看到的,它并不短!而且它还是新的,所以旧的浏览器不支持它。为什么不添加另一个类呢
<div id="container">
<div id="content">
<span class="first important"></span>
<span class="second important"></span>
</div>
</div>
为什么不添加另一个类
<div id="container">
<div id="content">
<span class="first important"></span>
<span class="second important"></span>
</div>
</div>
为什么不添加另一个类
<div id="container">
<div id="content">
<span class="first important"></span>
<span class="second important"></span>
</div>
</div>
为什么不添加另一个类
<div id="container">
<div id="content">
<span class="first important"></span>
<span class="second important"></span>
</div>
</div>
只需使用
.first、.second
@brouxhaha,在这种情况下,您还可以匹配未包含在#container#content
中的类second
的实例,这是正确的,但如果它们在其他div中不同,我建议使用不同的类。我的情况是假设在我想要的div之外还有其他元素具有相同的类,并且我不能更改类名。否则,我肯定会重新安排一些类和ID名称,以使事情对我来说更简单。只需使用。first、.second
@brouxhaha,在这种情况下,您还将匹配\second
中未包含在\container\content
中的类的实例,这是正确的,但如果它们在其他div中不同,我建议使用不同的类。我的情况是假设在我想要的div之外还有其他元素具有相同的类,并且我不能更改类名。否则,我肯定会重新安排一些类和ID名称,以使事情对我来说更简单。只需使用。first、.second
@brouxhaha,在这种情况下,您还将匹配\second
中未包含在\container\content
中的类的实例,这是正确的,但如果它们在其他div中不同,我建议使用不同的类。我的情况是假设在我想要的div之外还有其他元素具有相同的类,并且我不能更改类名。否则,我肯定会重新安排一些类和ID名称,以使事情对我来说更简单。只需使用.first、.second
@brouxhaha,在这种情况下,您还可以匹配类second的实例<