使用Jquery删除不匹配的元素

使用Jquery删除不匹配的元素,jquery,Jquery,我在每个表上方都有一个h1标题,我想删除日期与正上方h1.标题中日期不匹配的任何td.tablecells。在第一个示例中,将删除包含Sat 19 Jun的td,因为它不匹配 我在下面使用它,但是它删除了所有的td.table单元格,我需要一些额外的东西来保持td与匹配的日期。我很挣扎,因为H1坐在桌子外面,我似乎可以得到最后一场比赛 $(“.date span”).filter(函数(){ 返回$(this.text()!==$(“.heading”).text(); }).closest(

我在每个表上方都有一个
h1
标题,我想删除日期与正上方
h1.标题中日期不匹配的任何
td.tablecells
。在第一个示例中,将删除包含Sat 19 Jun的td,因为它不匹配

我在下面使用它,但是它删除了所有的
td.table单元格
,我需要一些额外的东西来保持td与匹配的日期。我很挣扎,因为H1坐在桌子外面,我似乎可以得到最后一场比赛

$(“.date span”).filter(函数(){
返回$(this.text()!==$(“.heading”).text();
}).closest('.table cell').remove()

6月18日星期五
6月18日星期五
6月19日星期六
8月19日星期五
8月19日星期五
8月20日星期六

在测试条件下,使用DOM关系获取同级,即父
表的标题

并且,使用正确的选择器,即
'.tablecell'
,而不是
'.table cell'

$(“.date span”).filter(函数(){
返回$(this).text().trim()!==$(this).closest('table').prev('heading').text().trim();
}).closest('.tablecell').remove()

6月18日星期五
6月18日星期五
6月19日星期六
8月19日星期五
8月19日星期五
8月20日星期六

在测试条件下,使用DOM关系获取同级,即父
表的标题

并且,使用正确的选择器,即
'.tablecell'
,而不是
'.table cell'

$(“.date span”).filter(函数(){
返回$(this).text().trim()!==$(this).closest('table').prev('heading').text().trim();
}).closest('.tablecell').remove()

6月18日星期五
6月18日星期五
6月19日星期六
8月19日星期五
8月19日星期五
8月20日星期六

以下是工作演示:


以下是工作演示:


$(“.heading”).text()
将获得所有标题文本-因为您有多个标题文本,它将所有标题文本组合在一起
console.log($(“.heading”).text()==“Fri 18 JunFri 19 Aug 4”
,因此它们从不匹配。
$(.heading”).text()
将获得所有标题文本-因为您有多个标题文本,它将所有标题文本组合在一起
console.log($(“.heading”).text())==“Fri 18 JunFri 19 Aug 4”
因此它们从不匹配。谢谢,它正在删除所有内容。我已经使用JSFIDDL尝试了所有操作,但不确定哪里出了问题,[link]@ultrarun,在标题中你有
7月20日星期五
而table cell有
7月20日星期五
因此没有任何匹配哈哈,天哪,我真不敢相信我错过了!现在可以了,感谢你在这方面的帮助。谢谢,它正在删除所有内容。我已经尝试了使用JSFIDDL的所有操作,不知道我哪里出了问题,[链接]@ultrarun,在标题中,你有7月20日星期五,表格单元格有7月20日星期五,因此没有匹配的。哈哈,天哪,我真不敢相信我错过了!现在可以了,谢谢你的帮助。
$(".date-span").filter(function() {
return $(this).text().trim() != $(this).parents('table:first').prev(".heading").text().trim();
}).closest('.tablecell').remove();