私はこの機能を機能させることに近づいていますが、まだ十分ではありません。
基本的なロジックは、"+" を含む p 要素を見つけ、テキストから "+" を取り除き、既存のコンテンツを新しいコンテンツに置き換えて、クラスを追加するというものです。
最初は、一致したすべての要素が返され、1 つの段落に連結されていました。だから私は each 関数を作成しようとしました。コンソールに正しい結果が表示されるようになりましたが、一致した段落のコンテンツのみを ($(this) を使用して) 置き換える方法がわかりません。
ここでフィドルを作成しました:http://jsfiddle.net/lharby/x4NRv/
以下のコード:
// remove bespoke text and add class
$qmarkText = $('.post p:contains("+")').each(function() {
$qStr = $(this).text().slice(1);
$qmarkText.replaceWith('<p class="subhead-tumblr"' + $qStr + '</p>');
console.log($qStr);
});
$qmarkText が完全ではないことはわかっていますが、これを修正する方法がわからないため、いくつかのバリエーションを試しました。
うまくいけば、誰かが私を助けてくれます。