从具有相同类的所有链接获取文本

时间:2017-06-12 15:25:37

标签: javascript jquery

我有过滤器,我在点击时切换活动类。单击时,我还想循环遍历活动类的链接,并从这些链接的文本中创建一个新数组。但是当我循环播放时,我在控制台中没有得到任何东西。 这是代码:

$('.filter-button').click(function() {

  $(this).toggleClass('active');

  var activeTags = $('filter-button.active');

  $(activeTags).each(function() {
    var tags[] = $(this.text());
  });

  console.log(tags);
});

我做错了什么?

1 个答案:

答案 0 :(得分:1)

您正在为tags函数创建一个新的each()变量,用于每个元素。当函数退出时,它就会被抛弃。

您的外部console.log()正在尝试列出不存在的内容的值(因为我们不再位于each()函数内)。

创建并追加each() 之外的数组

$('.filter-button').click(function() {

  $(this).toggleClass('active');

  var activeTags = $('.filter-button.active');
  var tags = [];

  $(activeTags).each(function() {
    tags.push($(this).text());
  });

  console.log(tags);
});
.active {
  background-color: red;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<button class=filter-button>1</button>
<button class=filter-button>2</button>
<button class=filter-button>3</button>
<button class=filter-button>4</button>
<button class=filter-button>5</button>