单击复选框后如何设置标签标签的样式?

时间:2019-11-10 10:33:37

标签: javascript html css

我有这样的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。

2 个答案:

答案 0 :(得分:1)

这是使用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>

希望这对您有所帮助。

答案 1 :(得分:0)

您可以获取特定的单击输入元素并在其上应用CSS样式

这是一个使用jQuery的简单示例:

$('input[type="checkbox"]').on('click', function(){
    $(this).toggleClass('fun-class');
});