使用jQuery查找/替换字符实体

时间:2011-04-29 20:25:04

标签: jquery regex

我有一些看起来像这样的标记:

<div id="breadcrumb"><a href="http://domain.com/site/">Site</a> &raquo; 
<a href="http://domain.com/site/sub/"></a> &raquo; 
<a href="http://domain.com/site/sub/sub/">Heading</a> &raquo; Document title</div>

在页面上,它看起来像:

网站»»标题»文档标题

我想使用jQuery查找空的“a”标记,将其删除,然后删除其中一个&gt;&gt;字符。

我有这个:

$(document).ready(function() {
    if ($('#breadcrumb').length) {
        $('#breadcrumb a:empty').replaceWith('-');
        $('#breadcrumb').html($('#breadcrumb').html().replace(/» - »/, "»"));
    }
});

请注意&gt;&gt;字符在Javascript代码本身中。这有效,但似乎不对。我正在寻找通过正则表达式找到该角色的正确方法。或者,我正在寻找有人说这段代码没问题。 :)我已经测试了它,它似乎适用于我使用过的浏览器。感谢。

(我最终将修复创建这些面包屑的过程,以便它不再输出空标记......但我正在寻找一个止损位置!)

2 个答案:

答案 0 :(得分:2)

你很好,javascript中的正则表达式用斜杠表示,就像字符串用引号表示一样。当你第一次看到它时会让人感到困惑,但这是一个非常有效的javascript正则表达式。

答案 1 :(得分:0)

我会使用jQuery DOM操作API

下()

删除()

$('#breadcrumb a:empty').next().remove();
$('#breadcrumb a:empty').remove();