非常直接。尝试从某些li的数据属性中获取值,具体取决于我想要分配隐藏或活动类的值。这似乎很简单,但如果我没有布尔值的console.log它返回值。当使用布尔值时,它会挂起第一个(或最后一个),并将.is-hidden应用于所有元素。
HTML
<li data-sex="male"></li>
<li data-sex="male"></li>
<li data-sex="female"></li>
<li data-sex="female"></li>
<li data-sex="male"></li>
<li data-sex="male"></li>
<li data-sex="male"></li>
JS / JQuery
$('li').each(function() {
sex = $(this).data('sex');
console.log(sex);
if(sex = "male") {
$(this).addClass("is-active");
} else {
$(this).addClass("is-hidden");
}
})
答案 0 :(得分:4)
您需要===
而不是=
,
if(sex === "male") {
$(this).addClass("is-active");
} else {
$(this).addClass("is-hidden");
}
您可以使用each和if条件直接使用选择器添加类。
$('li[data-sex=male]').addClass("is-active");
$('li[data-sex=female]').addClass("is-hidden");
答案 1 :(得分:4)
您需要使用==
或===
代替=
,
if(sex == "male")
答案 2 :(得分:2)
当您使用比较运算符时,您正在使用赋值运算符。
if(sex = "male")
应该是
if(sex == "male")
比较两个值时需要 ==
或===
。