<div class="breadcrumbs">
<a title="Go to Page." href="http://www.domain.com/dev" class="home">Home Page</a> > <a title="Go to the News category archives." href="http://www.domain.com/dev"/topics/news/" class="taxonomy category">News</a> > <span>News</span>
</div>
在上面的示例中,有2个分隔符,我使用以下jQuery('.breadcrumbs .category').remove();
删除了指向新闻的链接,但这让我感到
<div class="breadcrumbs">
<a title="Go to Page." href="http://www.domain.com/dev" class="home">Home Page</a> > > <span>News</span>
</div>
删除>
之一的最佳方式是什么?
答案 0 :(得分:5)
不要担心删除最后一次出现,请使用css将(表达式)>
放在正确的位置:
.breadcrumbs a + a::before {
content: '>';
}
或者,由于当前页面是span
,您可能更喜欢:
.breadcrumbs a::after {
content: '>';
}
答案 1 :(得分:4)
删除
>
之一的最佳方式是什么?
首先修复生成它的插件(以及News
链接)。
通过JavaScript删除它的最简单方法是什么?
这样做:
jQuery('.breadcrumbs .category').each(function() {
$([this, this.nextSibling]).remove();
});
答案 2 :(得分:0)
我的解决方案与@ David的相同,但使用单冒号语法,浏览器支持,并删除恼人的链接着色和下划线(不会使>
不是链接。
.breadcrumbs > a:after{
content: '>';
padding-left: 2px;
display:inline-block;
}
.breadcrumbs > a:link:after{
color: #000;
text-decoration: none;
}
答案 3 :(得分:0)
更新:我更好地理解了这个问题。
更新2:替换为匹配的字符串,如Bergi建议的那样。
我想出了以下脚本来完成你需要它做的事情:
jQuery(".breadcrumbs .category").remove();
var resultingHtml = jQuery(".breadcrumbs").html();
resultingHtml = resultingHtml.replace(/(\s*>){2,}/mi, "$1");
jQuery(".breadcrumbs").html(resultingHtml);
此脚本的作用是先删除面包屑中的最后一个节点,然后用一个>
替换任何双(或更多)gt;
文本。
您可以在JSFiddle
上看到它答案 4 :(得分:0)
灵感来自another question on stackoverflow
$.fn.nextNode = function(){
var contents = $(this).parent().contents();
return contents.get(contents.index(this)+1);
}
$('.breadcrumbs .category').nextNode().remove();
$('.breadcrumbs .category').remove();