程序问答   发布时间:2022-06-01  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了更改输入元素外的类大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

如何解决更改输入元素外的类?

开发过程中遇到更改输入元素外的类的问题如何解决?下面主要结合日常开发的经验,给出你关于更改输入元素外的类的解决方法建议,希望对你解决更改输入元素外的类有所启发或帮助;

我有一个带有复选框的输入元素:

  <input type="checkBox" ID="ID1" name="ID1" checked>

在其他地方(在输入字段之外),我想要一个文本,它会根据 ID1 的输入元素的检查状态改变其外观。

类似于:

<span for ID='ID1' class='Class1'>TEST</span>

如何获得文本和输入字段状态之间的依赖关系,以及如何通过选中和取消选中复选框将 Class1 更改为 Class2?该类更改文本的背景颜色。我知道如何在同一个元素中做到这一点。但是有两个不同的元素?或者由于“for”语句,是否可以通过输入元素的 ID 访问该类?我正在使用 JavaScript。

感谢您的帮助!

解决方法

将属性添加到具有相关跨度 ID 的复选框。

document.querySelector("#ID1").addEventListener("click",function() {
  let rel = document.getElementById(this.getAttribute("rel"));
  if (rel) {
    if (this.checked) {
      rel.classList.add("Class1");
      rel.classList.remove("Class2");
    } else {
      rel.classList.add("Class2");
      rel.classList.remove("Class1");
    }
  }
});
.Class1 {
  background-color: red;
}

.Class2 {
  background-color: blue;
}
<input type="checkbox" id="ID1" name="ID1" checked rel="span1">
<span id="span1" class='Class1'>TEST</span>

,

第一:你不能/不应该有两个具有相同 ID 的元素

const checkbox = document.getElementById("ID1");
const span = document.getElementById("SpanID1");

checkbox.addEventListener('change',function() {
  if (this.checked) {
    span.innerHtml= 'TEST Checked'
  } else {
    span.innerHtml= 'TEST Unchecked'
  }
});
,

如果您需要 CSS 解决方案,您可以定位输入框并使用 :checked 选择器后跟 + 然后是相邻元素。

CSS: element+element [div + p] 选择紧跟在 <p> 元素之后的第一个 <div> 元素

.Class1 {
  background-color: yellow
}

#ID1:checked + .Class1 {
  background-color: skyblue
}
<input type="checkbox" id="ID1" name="ID1" checked>
<span for id='ID1' class='Class1'>TEST</span>

查看 here 以了解有关不同 CSS 选择器的更多信息。

大佬总结

以上是大佬教程为你收集整理的更改输入元素外的类全部内容,希望文章能够帮你解决更改输入元素外的类所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签: