我在启用切换功能时遇到了一些麻烦,需要有人帮助向我解释。

我的HTML(简体):

<div id="filter_names"></div>

<div class="item">Option 1</div>
<div class="item">Option 2</div>
<div class="item">Option 3</div>
<div class="item">Option 4</div>


我的jQuery(简体)

$(".item").click(function(){

  var tagname = $(this).html();
  $('#filter_names').append(' > '+tagname);

  $(".loading").show();

});


如您所见,我将点击项的值附加到顶部的div中。这可以正常工作,但是当我再次单击它时我需要将其删除。

我很确定它需要一个toggle()函数,但是到目前为止,我的尝试是徒劳的。

一些指导将不胜感激。

编辑:您可以在此JSfiddle中看到我想要实现的目标。通过将值附加到末尾(如面包屑链接),它确实可以达到我想要的效果,但是当我再次单击它时并没有将其删除。

最佳答案

您需要查看#filter_names内容,并检查单击的标记的值是否已包含,然后将其删除,否则将其添加:

  if (filternames.indexOf(tagname) === -1) {
    $('#filter_names').append(' > '+tagname);
  } else {
    $('#filter_names').text(filternames.replace(' > '+tagname, ''));
  }


工作提琴:http://jsfiddle.net/passcod/Kz3vx/

请注意,如果一个标签的值包含在另一个标签的值中,则可能会得到奇怪的结果。

09-11 01:15