我有<div id="bread"></div>
,我正在尝试显示其中一个字符串包含Tab3 »
的面包屑。
就像Tab1
&gt; Tab2
&gt; Tab3 »
&gt; Tab4
>
除了arrow-right.png
是»
图片。
我想从»
删除Tab3 »
或»
。
我想搜索所选标签中是否包含»
或""
,如果有,我想将其替换为Tab3 »
,以便Tab3
变为{ {1}}。
我已经尝试了以下但它似乎不起作用。
$("document").ready(function() {
var crumbs = $("a.selected");
jQuery.each(crumbs, function() {
if(this != crumbs.get([0])) {
$("#bread").append(" ");
}
$("#bread").append("<img src='<c:url value="/resources/images/arrow-right.png" />' />" + " ");
var crumb = $(this).html();
var slicedCrumb;
if(crumb.indexOf(' » ') != -1) {
slicedCrumb = $(this).html().replace(' » ', '');
$("#bread").append(slicedCrumb);
}
else {
$("#bread").append(crumb);
}
});
});
我还尝试在»
的地方使用»
,但这似乎无效。
$("document").ready(function() {
var crumbs = $("a.selected");
jQuery.each(crumbs, function() {
if(this != crumbs.get([0])) {
$("#bread").append(" ");
}
$("#bread").append("<img src='<c:url value="/resources/images/arrow-right.png" />' />" + " ");
var crumb = $(this).html();
var slicedCrumb;
if(crumb.indexOf(' » ') != -1) {
slicedCrumb = $(this).html().replace(' » ', '');
$("#bread").append(slicedCrumb);
}
else {
$("#bread").append(crumb);
}
});
});
我花了很长时间阅读关于给定主题的其他帖子,但不知怎的,我无法让它工作。有人能帮助我理解我在这里缺少什么吗?我正在使用jquery-1.5.js
来运行此代码。我是否需要使用较新版本的jquery
或任何其他库来使其正常工作?
答案 0 :(得分:3)
slicedCrumb = $(this).html().replace(/\»/g, '');
重要的部分是逃避»
角色。我还添加了全局(g
)标志,这样如果有多个匹配正则表达式的实例,它们都将被删除。
以下是演示:http://jsfiddle.net/YXXZs/1/
<强>更新强>
如果要在尝试替换字符之前检查字符是否存在,则可以使用.match()
:
var text = $(this).html();
if (text.search(/\»/) > -1) {
slicedCrumb = text.replace(/\»/g, '');
}
以下是演示:http://jsfiddle.net/YXXZs/4/
.match()
的文档:https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/String/match
答案 1 :(得分:0)
尝试使用
slicedCrumb = $(this).html().replace('/[&]raquo[;]/ ', '');