我正在尝试在单击时将div id添加到jquery数组中。在应用“选定”css类的div上还有一个切换。当所选的css类在div上处于活动状态时,我只想将id添加到div。除此之外,我在数组中遇到重复问题。我以为我正在使用这个独特的功能,但我猜不是。
以下是我正在使用的HTML:
<div class="content">
<a href="#item3" class="panel multi"><div class="circle skinCare multi" id="acne" style="top:10px;left:265px"><div class="inner_circle" id="acne">ACNE/</br>BLEMISHES</div></div></a>
<a href="#item3" class="panel multi"><div class="circle skinCare multi" id="dry_skin" style="top:255px;left:10px"><div class="inner_circle" id="dry_skin">DRY SKIN</div></div></a>
<a href="#item3" class="panel multi"><div class="circle skinCare multi" id="oily_skin" style="top:90px;left:100px"><div class="inner_circle" id="oily_skin">OILY SKIN/LARGE PORES</div></div></a>
<a href="#item3" class="panel multi"><div class="circle skinCare multi" id="aging" style="top:90px;left:430px"><div class="inner_circle" id="aging">WRINKLES/</br>AGING</div></div></a>
<a href="#item3" class="panel multi"><div class="circle skinCare multi" id="irritation" style="top:255px;left:510px"><div class="inner_circle" id="irritation">SENSATIVE SKIN/IRRITATION</div></div></a>
<a href="#item3" class="panel multi"><div class="circle skinCare multi" id="dark_spots" style="top:430px;left:100px"><div class="inner_circle" id="dark_spots">DARK SPOTS</div></div></a>
</div>
这是jQuery:
var skinCare=[];
$('.skinCare').click(function(){
//var index = "Skin Care";
if($('div.skinCare').css('background-color') == 'rgb(255, 0, 0)'){
skinCare.push(event.target.id);
}
var skinCare1 = $.unique(skinCare);
alert(skinCare1);
});
将其输出到警报中:
acne, aging, acne, acne, irritation
如果选择了某些内容,我需要在数组中添加一个id,如果取消选择则从数组中删除它。
答案 0 :(得分:1)
$.unique
已被充分记录为仅适用于DOM元素:
摘自文档:
描述:在适当的位置对DOM元素数组进行排序,并删除重复项。请注意,这仅适用于DOM元素的数组,而不适用于字符串或数字。
API参考:http://api.jquery.com/jQuery.unique/
使用$.inArray()
来检查值
答案 1 :(得分:0)
试试这个:
var skinCare=[];
$('.skinCare').on("click", function(){
//var index = "Skin Care";
var id = $(this).attr('id')
if ($.inArray(id, skinCare) == -1)
skinCare.push(id);
else
skinCare.splice( $.inArray(id, skinCare), 1 );
alert(skinCare);
});
如果它已经存在,它会将div的id推送到数组上,如果是,则将其删除。我认为也可以在切换事件上完成。