我有两个div,假设第一个是 edit-text-field-12
,另一个是 edit-text-field-12-23
. 而且这些数字会发生变化,我想为div应用不同的css . 是否可以在CSS中完成 .
我想为模式 edit-text-field-12
之后的所有div应用背景颜色红色,为模式 edit-text-field-12-23
的div设置背景颜色蓝色 .
可能吗?
<input type="checkbox" id="edit-text-field-12" value="12">
<input type="checkbox" id="edit-text-field-12-23" value="12-23">
<input type="checkbox" id="edit-text-field-12-46" value="12-46">
<input type="checkbox" id="edit-text-field-12-39" value="12-39">
<input type="checkbox" id="edit-text-field-17" value="17">
<input type="checkbox" id="edit-text-field-17-21" value="17-21">
<input type="checkbox" id="edit-text-field-17-34" value="17-34">
有类型复选框的输入 . 在更改另一个字段时,将填充此列表 . 模式 edit-text-field-*
的复选框是父项,带有'edit-text-field--'模式的复选框是子元素 . 我想用2种不同的背景来展示它 .
3 回答
SOLUTION AT BOTTOM
假设这些是 ids ,您可以像这样选择 all :
这将选择
edit-text-field-11
,edit-text-field-12
,edit-text-field-12-23
等 .要使用 partial selector 更多 specific ,您可以将12添加到结尾等,例如 .
这将选择
edit-text-field-12
,edit-text-field-12-23
,但不是edit-text-field-11
.对于 individual ids,语法如下:
有关进一步阅读,请参阅W3Schools CSS Selectors,它解释了所有可用的CSS选择器 .
在 response 中编辑问题:
将12替换为第二组等的17 .
你不能选择12是任何数字的部分,因为CSS中有 no wildcard 值(例如
edit-text-field-*-
),所以你'll have to repeat the above, you can use commas so you don' t repeat the styles .solution 为此,因为 inputs 有 values ,是使用这些值来检测它们是哪种类型 .
这样做,你可以选择这样的一切:
你使用partial selector如下 .
EDIT: Jquery解决方案
由于你没有清楚地提到你是否试图改变div或输入元素的背景颜色,我假设你想要将每个输入包装在div中并为它们着色 .
以下是示例代码段 .
关键点 .
1. 我在所有输入上使用了filter()来使用
regex
过滤掉单个数字id 's and double digit id'^edit-text-field-\d+$
- >确保选择id为edit-text-field-12
,edit-text-field-17
^edit-text-field-\d+-\d+$
- >确保选择id为edit-text-field-12-23
,edit-text-field-17-21
等 .2. 一旦元素被过滤,我使用
wrap
用div和适当的类名包装它们以获得背景颜色 .希望这有用 .
使用CSS3部分选择器