Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/82.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
Jquery 用div在原始文本换行符中查找单词_Jquery_Regex - Fatal编程技术网

Jquery 用div在原始文本换行符中查找单词

Jquery 用div在原始文本换行符中查找单词,jquery,regex,Jquery,Regex,我试图找到一个开头和结尾的单词,比如INFO和ENDINFO,并用一个.INFO类将这两个单词中的所有内容包装在一个div中 例如:以前 <div class="project_content"><img src="http://lorempixel.com/g/400/200/"> <br> INFO <br> Hello I'm an info div <br> ENDINFO <br> Additonal conten

我试图找到一个开头和结尾的单词,比如INFO和ENDINFO,并用一个.INFO类将这两个单词中的所有内容包装在一个div中

例如:以前

<div class="project_content"><img src="http://lorempixel.com/g/400/200/">
<br>
INFO
<br>
Hello I'm an info div
<br>
ENDINFO
<br>
Additonal content outside of info div

</div>​
之后:

<div class="project_content"><img src="http://lorempixel.com/g/400/200/">
<br>
<div class=".INFO">
<br>
Hello I'm an info div
<br>
</div>
<br>
Additonal content outside of info div

</div>​
这似乎不起作用。正如你在照片中看到的。任何帮助都很好。

“.”将与空白字符不匹配。请尝试此regexp:

var regex = /INFO(.|\s)*ENDINFO/gi;

从您的示例代码来看,您可能希望改进jquery的工作方式。您使用的选择器.INFO和内容与HTML中的任何元素都不匹配,因此您的代码不会执行任何操作

为了让您开始,这里有一种方法可以实现您所说的:

与id='project\u content'匹配的元素

我们以该元素为目标,并将其HTML内容存储在HTML变量中


最后,我们用修改后的版本覆盖HTML内容。

$“.INFO”将不匹配任何DOM元素,因此不匹配。生成的.INFO应该放在哪里?附加到正文或其他元素中?您的意思是创建一个新的DIV,还是使用class.INFO附加到一个现有的DIV?其中INFO内容ENDINFO已经存在。目前在图片下方,但也可能在元素之间。这太棒了。有没有办法避免原始文本和css的闪现@乌利亚:图像加载完毕后,你的小提琴的包装被设置为onLoad,当你将其放入无包装头部时,闪光会小得多:再次感谢肖恩,我已经为此奋斗了一段时间。谢谢你的介绍
var regex = /INFO(.|\s)*ENDINFO/gi;
$(document).ready(function(){
    var html = $('#project_content').html();
    var new_html = html.replace(/(INFO((.|\s)*?)ENDINFO)/, "<div class='INFO'>$2</div>");
    $('#project_content').html(new_html);        
});
$('#project_content') 
var html = $('#project_content').html();
var new_html = html.replace(/(INFO((.|\s)*?)ENDINFO)/, "<div class='INFO'>$2</div>");
$('#project_content').html(new_html);