我有一段代码:
<div id="tab1" class="w-tab-pane" data-w-tab="Tab 1">
<div class="text-block">ΜΕΓΕΘΗ</div>
<a class="button w-button <?php if(in_array("xs",$arr_shirts)) echo "kg-active-btn-size"; ?>" id="shirt_0" onclick="getSize('hidden_shirt_0','xs');" href="#">XS</a> <!-- (86-91) -->
<input type="hidden" id="hidden_shirt_0" value="<?php if(in_array("xs",$arr_shirts)) echo "xs"; ?>" />
<a class="button w-button <?php if(in_array("s",$arr_shirts)) echo "kg-active-btn-size"; ?>" id="shirt_1" onclick="getSize('hidden_shirt_1','s');" href="#">S</a>
<input type="hidden" id="hidden_shirt_1" value="<?php if(in_array("s",$arr_shirts)) echo "s"; ?>" />
<a class="button w-button <?php if(in_array("m",$arr_shirts)) echo "kg-active-btn-size"; ?>" id="shirt_2" onclick="getSize('hidden_shirt_2','m');" id="shirt_2" href="#">M</a>
</div>
在div内,我有很多具有onclick事件的链接。当用户单击链接按钮时,我希望按钮变为黑色并保持黑色背景色。如果用户再次单击,则背景从黑色变为白色..我也有以下onclick事件代码:
$('#tab1 a').focus(function(){
if ($(this).hasClass('kg-active-btn-size')) {
$(this).removeClass("kg-active-btn-size").addClass("button w-button");
}
else {
$(this).addClass("kg-active-btn-size");
}
});
因此,以上代码将一个类添加到特定的链接标记。如果再次单击,请删除该类。.此代码在Chrome,Firefox和Safari上均能正常工作。.我也尝试过
$(this).toggleClass("kg-active-btn-size");
但仍然没有运气..我正在使用:
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.2.0/jquery.min.js" type="text/javascript"></script>
作为ajax库,因为我的代码不仅仅包含这段代码。我想念什么吗?提前致谢
最佳答案
未经测试,但是尝试此。例如,ID为#shirt_1的对象-对象伪造的替代方案,您可以使var伪造。但是我更喜欢这些对象字符串,因为可以在任何地方读取它们。
var fake = {}
$('#shirt_1').on('click', function(){
if (fake.fake == 'yes') {
$('#shirt_1').css('background-color', 'black');
fake.fake = 'no'
}else{
$('#shirt_1').css('background-color', 'white');
fake.fake = 'yes'
}
});
另外,如果可以使用点击,为什么还要使用焦点。也许是问题重点。另外,请始终使用console.log进行调试,或者在每个新步骤中发出警报,以了解您的进展。