由于某些原因,我的页面在标题中包含两个元标记部分,它们是相同的。
如果此元标记只有一行,我可以创建一个jquery代码来删除重复的代码;但是,我的情况是这些元标记包含6行,如下面代码的第一部分所示:
(第二部分是我要删除的重复部分)
<meta property="fb:app_id" content="123456789">
<meta property="og:site_name" content="MyWebsite">
<meta property="og:url" content="http://ThisIsMyWebsite.com">
<meta property="og:title" content="Duplicated Meta Tag Testing">
<meta property="og:description" content="Test the duplicated meta tags">
<meta property="og:image" content="http://ThisIsMyWebsite.com/show.jpg">
<meta property="fb:app_id" content="123456789">
<meta property="og:site_name" content="MyWebsite">
<meta property="og:url" content="http://ThisIsMyWebsite.com">
<meta property="og:title" content="Duplicated Meta Tag Testing">
<meta property="og:description" content="Test the duplicated meta tags">
<meta property="og:image" content="http://ThisIsMyWebsite.com/show.jpg">
有没有明确的方法来查找/删除重复的部分?(只保留一部分)
谢谢。
答案 0 :(得分:1)
这是一个解决方案,只保留第一个解决方案:
var found = {};
$('meta').each(function(){
var $this = $(this);
if(found[$this.attr('property')]){
$this.remove();
}
else{
found[$this.attr('property')] = true;
}
});
答案 1 :(得分:0)
您可以创建for循环并删除第一个元属性后的所有元属性。
var exists = {};
$('meta').each(function () {
var meta = $(this);
var property = meta.attr('property');
if(!property)
return;
if (exists[property]) meta.remove();
else exists[property] = meta;
});
的jsfiddle: https://jsfiddle.net/7hwvyphm/