我正在编写一个循环遍历对象的脚本,首先获取元素,然后我试图循环遍历元素的值,以便我可以更改CSS。这是脚本:
$(document).ready(function() {
var carParts = {
doors: {
flDoor: 'LOCKED',
blDoor: 'LOCKED',
frDoor: 'LOCKED',
brDoor: 'LOCKED'
}
}
var lights = 'OFF';
if (lights === 'OFF') {
$('.lights').css("display", "none");
}
for(var i in carParts.doors) {
for(var key in carParts.doors) {
var value = carParts.doors[key];
console.log(value);
if (value === 'locked') {
$('.'+i+'-open').css("display", "none");
}
}
}
})
所以我想循环遍历carparts.door对象并获取实际的flDoor,blDoor,frDoor,brDoor。在最终的jquery行中需要这些名称来分配正确的类名。除非实际值被锁定,否则我不希望触发该行。我是javascript的新手,还在学习。感谢您对代码提出的任何反馈。
答案 0 :(得分:1)
LOCKED
是大写的。您正在与小写字母进行比较。试试这个:
if (value === 'LOCKED') {
//
}
为什么你有两个循环?一个就够了。
<div class="flDoor-open">flDoor</div>
<div class="blDoor-open">blDoor</div>
<div class="frDoor-open">frDoor</div>
<div class="brDoor-open">brDoor</div>
$(function () {
var carParts = {
doors: {
flDoor: 'OPENED',
blDoor: 'OPENED',
frDoor: 'LOCKED',
brDoor: 'LOCKED'
}
};
for (var key in carParts.doors) {
var value = carParts.doors[key];
if (value === 'LOCKED') {
$('.' + key + '-open').css("display", "none");
}
}
});