2017-06-17 980 views
0

我有一个想法,通过更改我的标签来添加动态CSS样式,并使item.areaNo更改时我的输入元素显示不同。我成功地给了我的标签元素class='1',但css类不理解我的选择器。我真的需要知道如何设置正确的。Css选择器:如何选择具有某个类名称的元素

<ol class="cabin fuselage"> 
    <li class="row row--1"> 
     <ol class="seats" type="A"> 
      <li class="seat"><input type="checkbox" id="01-01" /> 
       <label for="01-01">01-01</label></li> 
      <li class="seat"><input type="checkbox" id="02-01" /> <label 
       for="02-01">02-01</label></li> 

这是我的JSP,

.seat label.1{background: #50bdc9;}

和我的CSS,

两个参考https://codepen.io/siiron/pen/MYXZWg罗尼Siikaluoma

$.getJSON("gametransfer.controller", function(json) { 
     $.each(Object.values(json), function(i, item) { 
      console.log(item) 
      var aa = '#' + item.seatNo; 
      if ($('.seat>input').is(aa)) { 
       if (item.attr == true) { 
        $(aa).prop('disabled', true);            
       } 
       $(aa).siblings('label').addClass('1'); 
      }/*end of outer if */       
     }); 
    }); 

解决:所有这些努力都失败了并返回所有的item.area否fir圣标签元素。

回答

1

你需要找到没有。的孩子(li.seat),那么你可以使用循环,然后找到标签一个接一个,并为每个标签放不同的CSS。我希望这是工作。

+0

谢谢!我试用了.siblings“$(aa).siblings('label')。addClass('1');”但它引发了另一个问题......我的CSS选择器没有拿起我的新班级ID,因为我将它设置为“.seat label.'1'”或“.seat label.1”,仍然尝试这个。真的很感谢你的意见。 –