2017-08-24 13 views
0

read more関数を作成しています。* <span id="more-NUMBER"></span>が発生した時点でHTMLコードを分割したいとします。それから、前と後のセクションを移動したい。jQuery:特定の要素で文字列を分割する

私が実行している問題は、idに配置された数字を考慮に入れて正規表現を書くことです。ここで私が始まるんだよ:

var text = jQuery('p').html().split('<span id="more-/\d+/"></span>'); 
text[0].appendTo('.red-text'); 
text[1].appendTo('.blue-text'); 

ここスターターはフィドルです:https://jsfiddle.net/samwisegrangee/r8c4urht/

私は私達のWordpressのサイトはread moreを作成する<!--more-->コメントを使用する場合、以前に働いていたものを持っていました*。あなたはここでその解決策を表示することができます。https://codepen.io/samwisegrangee/pen/aWGJOO

+0

'分割( '<スパンのid = "/ \ D + /もっと">'):あなたのアペンドはので、ここでいくつかの最終的な補正コードだ、どちらか動作していませんそれはregExではありません。単なる文字列です。 – Keith

+0

私の '.split()'は、その文字列の番号に関係なく起こるようにする方法はありますか? –

答えて

1

まず、正規表現は、引用符ではなくスラッシュ(/.../)で示されます。第二に、正規表現では、</span>のバックスラッシュをエスケープする必要があります。

/<span id="more-\d+"><\/span>/ 

これはすべてではありません。 `; -

var regex = /<span id="more-\d+"><\/span>/; 
var text = jQuery('.featured-text p').html().split(regex); 
jQuery('.red-text').html(text[0]); 
jQuery('.blue-text').html(text[1]); 

DEMO

+1

魅力のように動作します! –

0

ID = "より -/\ D + /"

バックスラッシュはエスケープ文字です。したがって、\"は、/"ではありません。 more-//は何と書かれていますか?

Working demo

+0

"more"は 'id'の定数部分です。番号は変わりますが、常に 'more-'で始まります。 –

関連する問題