jQuery:在某个元素上拆分字符串

时间:2017-08-24 19:15:26

标签: javascript jquery regex

我正在创建一个read more函数。*我想在<span id="more-NUMBER"></span>发生的时候拆分我的html代码。然后我想移动之前和之后的部分。

我遇到的问题是以一种可以解释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

2 个答案:

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