Javascript 从具有相同类的所有链接获取文本
我有一个过滤器,在这里我可以在单击时切换类活动。单击后,我还想循环遍历那些激活类的链接,并用这些链接的文本创建一个新的数组。但当我循环时,控制台中没有任何东西。 代码如下:Javascript 从具有相同类的所有链接获取文本,javascript,jquery,Javascript,Jquery,我有一个过滤器,在这里我可以在单击时切换类活动。单击后,我还想循环遍历那些激活类的链接,并用这些链接的文本创建一个新的数组。但当我循环时,控制台中没有任何东西。 代码如下: $('.filter-button').click(function() { $(this).toggleClass('active'); var activeTags = $('filter-button.active'); $(activeTags).each(function() { var
$('.filter-button').click(function() {
$(this).toggleClass('active');
var activeTags = $('filter-button.active');
$(activeTags).each(function() {
var tags[] = $(this.text());
});
console.log(tags);
});
我做错了什么?您正在为每个元素创建一个新的
标记
变量,该变量位于each()
函数的本地。当函数退出时,它将被丢弃
您的外部console.log()
正在尝试列出不存在的值(因为我们不再在each()
函数中)
在each()之外创建并附加一个数组。
:
$('.filter按钮')。单击(函数(){
$(this.toggleClass('active');
var-activeTags=$('.filter-button.active');
var标签=[];
$(activeTags)。每个(函数(){
tags.push($(this.text());
});
控制台日志(标签);
});代码>
.active{
背景色:红色;
}
1.
2.
3.
4.
5
var-activeTags=$('.filter-button.active');如果filter button为class,则缺少一个点。您忘记了选择器上的点:filter button.active
。另外,activeTags已经是一个jquery对象,所以你不需要做$(activeTags)
,你只需要做activeTags。每个,最后,你要重置每个中的标签变量,它是该循环的本地变量,所以当你尝试在那里登录时,它将不存在,首先请你console.log(activeTags)
然后告诉我们你有什么。和第二个$(activeTags).each(function(){var tags[]=$(this.text());})代码>这部分都错了,应该是这样:var tags=[]$(activeTags).each(函数(索引,值){tags[index]=$(this.text();})代码>非常感谢您的帮助!