2017-08-24 22 views
0

我創建了一個read more函數*我想分割我的html代碼在<span id="more-NUMBER"></span>發生點。然後我想要移動前後部分。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網站使用<!--more-->評論創建read 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-'開頭。 –