查找字符串,然后使用标记进行换行

时间:2012-12-10 20:18:45

标签: jquery

我试图找出如何选择单个文本片段然后用H1包装它。我正在寻找一些真正轻量级的东西,因为它只在我的网站上使用1个点。这似乎很简单,但要么答案太冗长而无法理解,或者我似乎无法让它发挥作用。

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>');

我使用了this previous question的答案,但似乎没有用。如果您想看一下,我会为它制作一个演示。

http://jsfiddle.net/gjtjh/

2 个答案:

答案 0 :(得分: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/

答案 1 :(得分: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。 replacestring的函数,因此您要替换文本,然后对其执行任何操作。