基于选中的输入使用javascript更改父样式

基于选中的输入使用javascript更改父样式,javascript,html,Javascript,Html,我希望在选中复选框时更改父标签的样式。我意识到这在CSS中是不可行的,这在Javascript中是可能的吗 是的,这里有一个例子: const container=document.querySelector('#cont'); const checkbox=document.querySelector('input'); 复选框.addEventListener('change',()=>{ 如果(复选框。选中){ container.style.background='red' }否则

我希望在选中复选框时更改父标签的样式。我意识到这在CSS中是不可行的,这在Javascript中是可能的吗



是的,这里有一个例子:

const container=document.querySelector('#cont');
const checkbox=document.querySelector('input');
复选框.addEventListener('change',()=>{
如果(复选框。选中){
container.style.background='red'
}否则{
container.style.background='white'
}
})

你试过这种方法吗?您可以为此使用css:checked属性

输入:选中+标签{
颜色:红色;
}

标签

你的问题有点不清楚。如果您只有一个单亲元素和复选框,就像您的代码所建议的那样,那么它很简单。 您可以在样式表中定义希望类(比如一个名为new-style的类)的新样式,然后在js脚本中添加一个侦听器函数,以便在单击复选框时触发。侦听器函数基本上会将类插入到父类中(如果没有),或者删除它(如果有)。像这样的

<script>
  let checkbox = document.querySelector('input[type="checkbox"]');
  checkbox.onclick = function() {
    let parent = document.querySelector('#cont')
  parent.classList.toggle('new-style');
}
</script>

让checkbox=document.querySelector('input[type=“checkbox”]”);
checkbox.onclick=function(){
让parent=document.querySelector('#cont')
parent.classList.toggle('new-style');
}

你为什么滥发问题!因为我被要求发布一个新问题,因为之前的回答中没有CSS解决方案,所以我问了一个javascript解决方案。你有没有尝试过研究这些解决方案,这是一个非常基本的问题,如果你想搜索你自己的问题标题,你会得到你的答案。这回答了你的问题吗?OP没有要求更改HTML布局!是的,这将是理想的解决方案。。。但不幸的是,我无法更改HTML布局