Javascript 删除重复的Li<;a>;找到标签
如果重复,则删除Javascript 删除重复的Li<;a>;找到标签,javascript,jquery,html,css,Javascript,Jquery,Html,Css,如果重复,则删除 主要的问题来自于您在锚中包含文本的HTML实体,您必须在检索文本时删除/替换它们,您的第二个“仪表板”文本实际上是Dashboard&lrm,因此它将永远不会与仪表板作为键匹配 从JS或HTML代码中删除它们,例如: var txt = $(this).text().replace(/[^A-Z0-9]+/ig, ""); 注意1:使用x.hasOwnProperty(y)检查对象x是否具有属性y,在您的情况下: if ( seen.hasOwnPro
主要的问题来自于您在锚中包含文本的HTML实体,您必须在检索文本时删除/替换它们,您的第二个“仪表板”文本实际上是Dashboard&lrm代码>,因此它将永远不会与仪表板
作为键
匹配
从JS或HTML代码中删除它们,例如:
var txt = $(this).text().replace(/[^A-Z0-9]+/ig, "");
注意1:使用x.hasOwnProperty(y)
检查对象x
是否具有属性y
,在您的情况下:
if ( seen.hasOwnProperty( txt ) ){
注2:正如@MasterYoda的评论所说,您的
元素应该是
或
的子元素,而不是
var-seen={};
$('.nav报告类别a')。每个(函数(){
var txt=$(this.text()。替换(/[^A-Z0-9]+/ig,”);
如果(参见.hasOwnProperty(txt)){
$(this).最近的(“li”).remove();
}否则{
seed[txt]=真;
}
});代码>
.nav报告类别{
边界:没有!重要;
}
.nav报告类别li{
字体大小:16px;
填充:10px 0px;
宽度:110px;
显示:内联块;
背景色:rgb(74、137、220);
颜色:#fff!重要;
右边距:5px;
文本对齐:居中;
-moz边界半径:9px 9px 0px 0px;
-webkit边界半径:9px 9px 0px 0px;
边界半径:9px 9px 0px 0px;
字体颜色:#fff!重要;
}
.nav报告类别li.active{
背景色:#CB6015!重要;
颜色:#fff!重要;
}
.导航报告类别李a:已访问{
颜色:#fff!重要;
}
.nav报告类别li a{
颜色:#fff!重要;
}
.导航报告类别li:悬停{
背景色:#BE3A34;
文字装饰:无;
}
.选项卡说明{
背景色:rgb(93156236);
颜色:#fff!重要;
填充物:5px;
}
.选项卡说明H2{
颜色:#fff!重要;
}
#txt业务功能{
字体系列:“Segoe UI Light”、“Segoe UI”、“Segoe”、Tahoma、Helvetica、Arial、无衬线字体;
颜色:#BE3A34;
字体大小:22px;
字体大小:粗体;
}
您的
元素应该是
或
的子元素,而不是
,但这并不是您问题的解决方案,只是一个观察,用我的更新版本替换您的JS。我刚从文本中删除了额外的字符。
if ( seen.hasOwnProperty( txt ) ){