Jquery 查找包含相同文本的每组div的第一个实例

Jquery 查找包含相同文本的每组div的第一个实例,jquery,Jquery,我试图只在每组div中的第一个.event上设置CSS,它有一个a,其中包含相同的文本 在本例中,这些应仅为第一个和第三个div(因为第一个.event是第一个div,具有a和text第一个事件,第三个。event是第一个div,具有a和text第二个事件) 我尝试了此代码,但没有成功: jQuery(文档).ready(函数($){ var eventitle=$(“.event.title a”).text(); $(“.event.title a:包含(“+eventTitle+”)。每

我试图只在每组div中的第一个
.event
上设置CSS,它有一个
a
,其中包含相同的文本

在本例中,这些应仅为第一个和第三个div(因为第一个
.event
是第一个div,具有
a
和text
第一个事件,第三个
。event
是第一个div,具有
a
和text
第二个事件)

我尝试了此代码,但没有成功:

jQuery(文档).ready(函数($){
var eventitle=$(“.event.title a”).text();
$(“.event.title a:包含(“+eventTitle+”)。每个(函数(){
var parenter=$(this).closest(“.event”);
$(parenter.first().css(“颜色”、“红色”);
});
});

我不太确定您当前的逻辑试图做什么,但它在几个方面存在缺陷

考虑到元素的文本已按顺序排列,实现所需内容的最简单方法是将上一个元素的文本与循环中的当前元素的文本进行比较。如果它们不同,则可以添加类来更改文本的颜色,如下所示:

var prevText='';
$('.event.title a')。每个(函数(){
var text=$(this.text().trim();
$(this).closest('.event').toggleClass('foo',prevText!=text);
prevText=文本;
});
.fooa{
颜色:红色;
}


thx-但div不能一个接一个地订购。它们可以在循环中传播。好的,我更新了答案,告诉你如何解决这个问题!da现在最好了-我隐藏了所有不是“.foo”的“.event”div。当我点击“.foo”时,我希望所有“.event”div与相同的“.event.title a”文本重新出现。这可能吗?是的,但我建议开始一个新的问题。