繁体   English   中英

如何使用JQuery选择复选框和字体很棒的元素

[英]How to select checkbox and font awesome elements using JQuery

JQuery使通过ID或类名选择元素变得容易,但这超出了我的了解。

调用函数时,我想应用以下样式。

.classname input[type="checkbox"] ~ i.fa.fa-circle-o {
     color: grey;
}


.classname input[type="checkbox"]:checked ~ i.fa.fa-check-circle-o {
     color: grey;
}

所以我尝试将它们放在这样的函数中:

function greyOut(classname) {
    console.log("fired");

    $("." + classname + " input[type='checkbox'] ~ i.fa.fa-circle-o").css("color: grey");
    $("." + classname + " input[type='checkbox']:checked ~ i.fa.fa-check-circle-o").css("color: grey");
}

但这根本不起作用。 该功能已触发,但这些元素的颜色没有更改,并且控制台没有错误。

您可以使用addClass()来简化代码吗?

例:

 function greyOut(classname) { $(classname).addClass("checked"); } 
 .classname.checked input[type="checkbox"]~i.fa.fa-circle-o, .classname.checked input[type="checkbox"]:checked~i.fa.fa-check-circle-o { color: grey; } 
 <div class="classname"> <input type="checkbox"> </div> 

IMO,这只是糟糕的jQuery语法。 .css()方法中更改属性时,必须使用其他语法。 因此,您有以下两种可能性:

function greyOut(classname) {
  console.log("fired");
  $("." + classname + " input[type='checkbox'] ~ i.fa.fa-circle-o").css("color", "grey");
  $("." + classname + " input[type='checkbox']:checked ~ i.fa.fa-check-circle-o").css("color", "grey");
}

要么:

function greyOut(classname) {
  console.log("fired");
  $("." + classname + " input[type='checkbox'] ~ i.fa.fa-circle-o").css({color: 'grey'});
  $("." + classname + " input[type='checkbox']:checked ~ i.fa.fa-check-circle-o").css({color: 'grey'});
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM