0

次のような形式のブログ投稿のタイトルがあります。

<h1 class="entry-title">category text...blog post title</h1>

(「...」は実際には html エンティティです&#8230;)

それらは何百もあるため、手動で html コードを追加すると時間がかかりすぎます。

私がする必要があるのは、テキストの前にスパンタグを挿入することです。それは簡単な部分です:

$('.entry-title').prepend('<span class="category">');

「...」の前に終了タグを挿入します

したがって、結果は次のようになります

<h1 class="entry-title"><span class="category">category text</span>...blog post title</h1>

したがって、部分文字列「...」を見つけて先頭に追加する必要があります</span>

誰でもこれを行う方法を教えてもらえますか?

4

3 に答える 3

0

終了タグと同時に開始タグを挿入する必要があります。

var index = $('.entry-title').html().indexOf('...');

$('.entry-title').html('<span class="category">' + $('.entry-title').html().substring(0, index) + '</span>' + $('.entry-title').html().substring(index));
于 2013-08-05T17:58:49.133 に答える
0

コードスニペットの下のユーザー。

var title = $('title').text();
var titlePart = title.split("...");
var newTitle = "<span>" + titlePart[0] + "</span>" + titlePart[1];
$('title').text(newTitle);
于 2013-08-05T18:02:21.913 に答える
0

正規表現を使用できます

$('.entry-title').each(function() {
    var el = $(this);
    el.html(el.html().replace(/^(.*?)\…/, '<span class="category">$1</span>&#8230;'));
});

フィドル

于 2013-08-05T18:00:13.153 に答える