css - 选择标签被css更改后是否可以控制div?
问题描述
select[value="2"]+div{
background:blue;
font-size: 20px;
}
select[value="3"]+div{
background:red;
}
<select name="" id="">
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
</select>
<div>hi</div>
I want to control background of div tag, when select changed. 可以只使用css吗?
解决方案
可悲的是,它不是。CSS 属性选择器不适用于 DOM 属性,并且选项的选择不会更改这些属性,只会更改属性。
我不确定这是否适用于您的用例,但您可以做的一件事是使用 :valid 和 :invalid 伪类为 div 着色。看起来像这样:
select:valid + div {
color: green;
}
<select required>
<option value="">Empty</option>
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
</select>
<div>HI</div>
推荐阅读
- c++ - Getline 从 txt 文件中读取数据
- kotlin - 如何确保将非空值设置为最初为空的属性,同时在设置值时执行操作?
- jenkins - 报告 JMeter 测试失败
- node.js - nodeJS应用程序中的两阶段提交
- go - 如何解码 base64 字符串并获取正确的字符,包括重音符号?
- pdf - Prestashop 使用用户名生成发票
- python - 如何在 wagtail 站点地图上将协议更改为 https?
- service-worker - 在 Service Worker 中导入 Dexie
- delphi - 如何在不关闭非模态表单的情况下将值从非模态表单传递回主表单
- android - 与机读旅行证件交互时,一系列 Android 设备的反应不同