javascript - 如何将 CSS 样式应用于 Div 的同级标签字段?

标签 javascript jquery html css

基于下面的 HTML 代码,带有类 iradio_square-green checked 的 Div我需要以某种方式制作 <label>在该类 checked 时,在上面它对该 Label 应用了某种 CSS 样式。存在于标签下方的 Div 中。

<label for="indoor-backing-radio-2">
    <span>Clear Backing</span>
</label><br>

<div class="iradio_square-green checked" style="position: relative;">
    // other code
</div>

所以当 Div 有一个类 checked然后是 <label>该 Div 正上方的字段需要应用 border: 4px solid #559A08; 的样式到 <label> .

我不确定这是否可以仅使用 CSS 完成,或者是否需要 JavaScript?在任何一种情况下,我都可以使用一些帮助来获得此功能。一旦我让它运行起来,它将适用于数百个领域。感谢您的帮助

最佳答案

plugin您正在使用的事件提供了一个名为 ifToggled 的事件。您可以为此事件提供回调,以切换相应标签上的“已检查”类:

var labels = document.getElementsByTagName('label');

$('input').iCheck({
    checkboxClass: 'icheckbox_polaris',
    radioClass: 'iradio_polaris'
});

$('input').on('ifToggled', function(event){

    // find the corresponding label of this input and toggle the class
    for(var j = 0;j < labels.length;j++){
        if(labels[j].htmlFor === event.currentTarget.id){
            $(labels[j]).toggleClass('checked');
            break;
        }
    }
});

演示 here .

以这种方式查找标签意味着您无需依赖 DOM 元素的特定顺序。

关于javascript - 如何将 CSS 样式应用于 Div 的同级标签字段?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22736211/

相关文章:

jquery - 当jquery中有多个类时如何读取元素

javascript - 多个网络摄像机在同一网页上传输

html - 容器中的中心div

javascript - Angular - 没有可排序的方法

javascript - 加载 HTML 元素时是否可以调用函数?

javascript - drop EventListener 不起作用

javascript - 以匿名函数为父函数的彩票号码生成器

javascript - 如何使用 JQuery 创建一个可选列表,其中列表项绑定(bind)到带有事件的按钮?

jquery - 透明导航栏

jquery - 使用 jquery 替换通配 rune 本