javascript - 单击复选框时如何设置标签标签的样式?
问题描述
我有一个像这样的 html 标记。
<html>
<head></head>
<body>
<input type="checkbox" id="Randomly generated ID" onclick="fun()">
<label for="CHECKBOX_ID" id="Randomly generated ID">SOME TEXT</label>
</body>
</html>
单击复选框时,我想使用 javascript 中的 fun() 函数将 CSS 样式添加到标签标签。我在这样做时遇到了麻烦,而且这两个元素都有一个随机生成的 ID,并且不能有相同的 ID。
解决方案
这是使用Vanilla Js的实现。
function fun(inputElement) {
var backgroundColor = inputElement.checked ? 'yellow' : 'white';
var labelSelector = 'label[for="' + inputElement.id + '"]';
var labelElement = document.querySelector(labelSelector);
inputElement.style.background = backgroundColor;
labelElement.style.background = backgroundColor;
}
<html>
<head></head>
<body>
<input type="checkbox" id="CHECKBOX_ID" onclick="fun(this)">
<label for="CHECKBOX_ID" id="Randomly generated ID">SOME TEXT</label>
</body>
</html>
希望这会对你有所帮助,谢谢。
推荐阅读
- java - 为什么我的 Thymeleaf 只显示列表的最后一行
- python - 将时间戳转换为日期时间错误的 AM/PM
- apache-flink - k8s上的flink缺少状态值-在jobmanager / taskmanager崩溃时恢复作业
- oracle - 在 pyspark 的 oracle 查询中使用参数
- javascript - 从 React 中的 API 调用收到状态 404 后,如何重定向到错误页面?
- amazon-web-services - 如何在云端请求中使用 boto3 python 3.8 提取不记名令牌并在另一个查询中使用它
- mongodb - typeorm mongo db中的一对一关系
- html - 无法在primeng表中使用粘性标题
- java - 如何从android中的特定文件夹中获取所有视频和照片
- c++ - 如何转换 unique_ptr
* 到 unique_ptr *?