我有过滤器,我在点击时切换活动类。单击时,我还想循环遍历活动类的链接,并从这些链接的文本中创建一个新数组。但是当我循环播放时,我在控制台中没有得到任何东西。 这是代码:
$('.filter-button').click(function() {
$(this).toggleClass('active');
var activeTags = $('filter-button.active');
$(activeTags).each(function() {
var tags[] = $(this.text());
});
console.log(tags);
});
我做错了什么?
答案 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>