0

我试图弄清楚如何选择一个文本片段,然后用 H1 包装它。我正在寻找真正轻量级的东西,因为它只在我的网站上的一个地方使用。看起来很简单,但是要么答案太长而无法打扰,要么我似乎无法让它发挥作用。

HTML

<div class="innerWrapper">
  Office Current Listings
</div>

JS

$('div.innerWrapper:contains("Office Current Listings")').html()
.replace('Office Current Listings', '<h1>Office Current Listings</h1>');

我使用了上一个问题的答案,但它似乎不起作用。如果您想看一下,我会为它制作一个演示。

http://jsfiddle.net/gjtjh/

4

2 回答 2

4

这个怎么样?

$('div.innerWrapper:contains("Office Current Listings")').wrapInner('<h1/>');​​​​

- 更新 -

要处理任何地方的文本,包括子 div,试试这个:

$('div.innerWrapper').each(
    function(index) {
        var $el = $(this);
        var html = $el.html();
        $el.html(html.replace(/Office Current Listings/g, "<h1>Office Current Listings</h1>"));
    }
);​

http://jsfiddle.net/eDyBu/3/

于 2012-12-10T20:27:55.030 回答
2

http://jsfiddle.net/gjtjh/1/

var div = $('div.innerWrapper:contains("Office Current Listings")');
var html = div.html();
div.html(html.replace('Office Current Listings', '<h1>Office Current Listings</h1>'));​

您实际上并没有设置 div 的 html。 replace是 的函数string,因此您正在替换文本,然后什么也不做。

于 2012-12-10T20:21:09.497 回答