jQuery 的正则表达式
Regex for jQuery
我必须将 'p' 元素中所有包含错误的行变成红色。基本上,如果有错误,它将以 space(不总是)和 3 个或更多星号(总是)开头。
例如:
*** ERROR[14567] Manager initialization failed.
***** error[14567] Manager initialization failed.
我的代码:
<script>
$('p').each(function(){
$this.html($this.text().replace(/(\s)*[*]*(\s)*ERROR.*/ig, '<span style="color: red;">$&</span>'));
</script>
但这不起作用。请帮忙。
您需要定义包含 的行,但与此类似的东西应该可以工作
$('p').each(function(){
$(this).html(function(index, current){
var wrap = '<span style="color: red;">$&</span>';
return current.replace(/\s*?\*{3,}\s*?error.+/gi, wrap);
});
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<p>*** ERROR[14567] Manager initialization failed.</p>
<p>
first line
***** error[14567] Manager initialization failed.
other line</p>
我必须将 'p' 元素中所有包含错误的行变成红色。基本上,如果有错误,它将以 space(不总是)和 3 个或更多星号(总是)开头。
例如:
*** ERROR[14567] Manager initialization failed.
***** error[14567] Manager initialization failed.
我的代码:
<script>
$('p').each(function(){
$this.html($this.text().replace(/(\s)*[*]*(\s)*ERROR.*/ig, '<span style="color: red;">$&</span>'));
</script>
但这不起作用。请帮忙。
您需要定义包含 的行,但与此类似的东西应该可以工作
$('p').each(function(){
$(this).html(function(index, current){
var wrap = '<span style="color: red;">$&</span>';
return current.replace(/\s*?\*{3,}\s*?error.+/gi, wrap);
});
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<p>*** ERROR[14567] Manager initialization failed.</p>
<p>
first line
***** error[14567] Manager initialization failed.
other line</p>