我正在尝试找到一个结尾的单词,例如INFO
和ENDINFO
,并将这两个单词中的所有内容包含在一个.INFO
$(document).ready(function() {
var content = $('.content').html();
var regex = /INFO.*ENDINFO/gi;
var info = content.match(regex);
$('.INFO').html(info);
});
例如:之前。
<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>
这似乎不起作用。正如您在jsfiddle中看到的那样。任何帮助都会很棒。
答案 0 :(得分:2)
从您的示例代码中,您可能希望了解jquery的工作原理。您使用的选择器(.INFO
和#content
)与HTML中的任何元素都不匹配,因此您的代码不执行任何操作。
为了帮助您入门,这是实现您所述目标的一种方式:http://jsfiddle.net/JRHse/6/
$(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')
将元素与id='project_content'
匹配。
var html = $('#project_content').html();
我们定位该元素并将其HTML内容存储在html
var。
var new_html = html.replace(/(INFO((.|\s)*?)ENDINFO)/, "<div class='INFO'>$2</div>");
然后我们执行您想要的替换并将输出存储为new_html
。
$('#project_content').html(new_html);
最后,我们用修改后的版本覆盖HTML内容。
答案 1 :(得分:1)