jQuery/JavaScript:如何在html()中替换字符串?

3

the following variable …

var breadcrumbs = $('#trail').html();

... 包含:

<href="page1/">页面1</a> <strong>»</strong> <a href="page2">页面2</a> <strong>»</strong> <a href="page3">页面3</a>

我该如何将每个 <strong>»</strong> 替换为其他内容?


通常最好将此类操作作为DOM元素而不是字符串来执行。你能描述一下你最终想要做什么吗? - user113716
不管怎样。只要警惕一些浏览器返回的HTML字符串中的微妙变化,这将会破坏.replace()。 - user113716
2个回答

15

只需要普通的replace就可以了。但要注意»,在标记中可能会被写成&raquo;或其他类似形式...

breadcrumbs.replace( new RegExp("<strong>»</strong>", 'g'), "something else" );

1
附注:在您的标记中,“»”确实应该写成“»”。 - rfunduk

5
breadcrumbs.replace("<strong>»</strong>","new string");

或者,取决于您如何编写»字符。
breadcrumbs.replace("<strong>&raquo;</strong>","new string");

3
与我的答案不同的是,这个解决方案只会替换“面包屑(breadcrumbs)”字符串中的一个实例。 - rfunduk
当我发布我的答案时,你还没有回复。我们可能是同时发布的。 - Will
是的,这种情况确实会发生。只是想为提问者指出我们代码中的差异。 - rfunduk

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接