Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/433.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/77.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 获取特定元素引用周围的文本_Javascript_Jquery_Html_Regex - Fatal编程技术网

Javascript 获取特定元素引用周围的文本

Javascript 获取特定元素引用周围的文本,javascript,jquery,html,regex,Javascript,Jquery,Html,Regex,具有如下HTML代码段: <p>Lorem ipsum <mark>dolor</mark> sit amet. <mark>Lorem</mark> ipsum again and <mark>dolor</mark></p> 现在我是这样的: var$highlightMarks=$(“标记”); var结果=[]; 对于(变量i=0;i

具有如下HTML代码段:

<p>Lorem ipsum <mark>dolor</mark> sit amet. <mark>Lorem</mark> ipsum again
   and <mark>dolor</mark></p>
现在我是这样的:

var$highlightMarks=$(“标记”);
var结果=[];
对于(变量i=0;i<$highlightMarks.length;++i){
var$c=$highlightMarks.eq(i);
var text=$c.parent().text().trim().replace(/\n/g,“”);
var indexStart=newregexp($c.html(),“gim”).exec(text).index;
text=“[…]”+text.substring(indexStart-5,$c.html().length+indexStart+5)+“[…]”;
结果:推送(文本);
}
警报(JSON.stringify(结果))


Lorem ipsum dolor sit amet。Lorem ipsum和dolor。

我成功了,直到今天。您可以这样做:

var results=$(“p”).clone().find(“mark”).html(“1”).after(“”.end().html().trim();
结果=结果分割(“1”);
结果=results.map(Function.prototype.call,String.prototype.trim);
最终=[];
对于(var i=0;i

Lorem ipsum dolor sit amet。同侧眼睑
还有多洛


您可以使用简单的正则表达式来完成

[\w\s.]{5}
=标记前后的5个字符


[^可以使用jquery contents()函数完成。我们可以通过指定索引来选择元素内部的文本片段。请检查下面的代码,我已经开发了一个逻辑并实现了它

$(文档).ready(函数(){
var marks=$('mark')//获取所有mark元素
var j=0;

对于(var i=0;i这是一个仅使用正则表达式的两步防弹实现(欢迎反例)

它最大的优点是独立于标记容器工作(就像
..

提取标记周围的文本一样)

var过滤器=//gi;

var regex=/((?:(?!){0,5})([输出到底应该是什么?为什么要投票?它给出了需要的输出……必须给出一些原因:/除非下流者解释,我认为下注无效,因此给你1。注意,如果模式不是动态的,使用ReGEXP构造函数不是一个好主意。此外,你不需要在构造函数NOTA内部逃脱<代码> /<代码>。激动。
[
   "[...] psum dolor sit [...]",
   "[...] met. Lorem ipsu [...]",
   "[...] and dolor [...]",
]