如何将特定类单独推送到数组中?

时间:2017-05-18 01:47:33

标签: jquery class push selector

<div class="divColorContainer">
  <div class="Blue"></div>
  <div class="Green"></div>
  <div class="Blue"></div>
</div>

我有一个按钮,点击后我想将该属性推送到一个数组中,以便稍后比较分数函数。

我尝试element.push($(.divColorContainer).attr(.Blue)和其他许多提取。

如果单击按钮一次,如何选择/推送第一个Blue类,然后再次单击时,检索下一个Blue类?

如果你徘徊为什么。它用于记忆游戏。

3 个答案:

答案 0 :(得分:0)

关于选择器,您可以使用$('.divColorContainer .Blue:eq('+Index+')')使用:eq()nth-child()或使用jquery .eq()

按索引确定元素

我不知道你在谈论哪个attribute ..但你可以使用这样的东西

$(document).ready(function(){
  var Index = 0;
  $('.selectBlue').on('click',function(){
    // you can here make whatever you want 
    // for example addClass();
    $('.divColorContainer .Blue:eq('+Index+')').addClass('bg');
    Index++;
  });
});
.bg{
  background : blue;
  color: #fff;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="divColorContainer">
  <div class="Blue">Blue</div>
  <div class="Green">Green</div>
  <div class="Blue">Blue</div>
</div>
<button type="button" class="selectBlue">Select Blue Class</button>

答案 1 :(得分:0)

使用special jQuery方法来操作CSS类属性。如果您想操纵其他属性,请使用attr()prop()方法 使用局部变量和If... Else If语句来考虑点击次数。

答案 2 :(得分:0)

这是我的第一个Stack Overflow答案,我并不完全清楚你要做什么,但我希望我能提供帮助。

如果它是记忆游戏,您可能想要跟踪哪个元素被点击,而不仅仅是类名,因为它们被重复使用。

无论如何,要将点击元素的类名存储到数组中,您可以使用以下内容:

var classArray = [];
$('.divColorContainer').children('div').each(function(){
    classArray.push($(this).attr('class')); // To save the class names
}):

要获取每个项目的索引,您可以为每个元素添加重复的类。

示例:

<div class="color Blue">Blue</div>

或者只是将它们作为目标:

$('divColorContainer').children('div').on('click', function({}));

然后将click事件设置为该类以获取所单击元素的索引( 0基于其父级的索引)。你可以使用这样的东西:

var colorArray = [];
$('.color').on('click', function(){
    colorArray.push($(this).index());
});