<div class="divColorContainer">
<div class="Blue"></div>
<div class="Green"></div>
<div class="Blue"></div>
</div>
我有一个按钮,点击后我想将该属性推送到一个数组中,以便稍后比较分数函数。
我尝试element.push($(.divColorContainer).attr(.Blue)
和其他许多提取。
如果单击按钮一次,如何选择/推送第一个Blue类,然后再次单击时,检索下一个Blue类?
如果你徘徊为什么。它用于记忆游戏。
答案 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());
});