也许我这样做不正确/效率低下,但这对我不起作用:
$(document).ready(function(){
$('li.taglink').click(function(){
alert('clicked tag');
$userClicked = $(this).html();
$('#holder').children('div').each(function () {
$('li.taglinkcurrent').removeClass('taglinkcurrent').addClass('taglink');
$x = $(this).attr("tags");
ele = $x.split(',');
for (var i = 0; i < ele.length; i++)
{
if ($userClicked == ele[i]) {$(this).show(495); break;}
else {$(this).hide(495);}
}
});
$(this).removeClass('taglink').addClass('taglinkcurrent');
});
$('li.taglinkcurrent').click(function(){
alert('clicked current');
$('li.taglinkcurrent').removeClass('taglinkcurrent').addClass('taglink');
$('li.taglink').show(495);
});
});
该页面包含具有“标签”属性的 div,其中包含多个标签。我还有一个无序列表,每个 li 元素都包含单独的标签。当用户单击其中一个 li 元素时,它会显示所有具有该标签的 div,并隐藏其他所有内容。如果用户单击相同的 li 元素,它会再次显示所有内容。我添加了警报以测试发生了什么,每次单击链接时都会弹出“单击的链接”,即使 li 将其类切换为 .taglinkcurrent。关于我做错了什么的任何想法?