我有像这样的HTML内容
<div class='.desc_html_aff'>
sdsdfdfdgdsg
<ul class="pi_ul">
<li>abc</li>
<li>def </li>
<li>ererefe </li>
</ul>
wfwfwsfgdhfhfhdf
dgdfhfj
</div>
我喜欢将<ul>
的内容替换为&#39; !!&#39;
这里jquery不工作
var desc_aff=$('.desc_html_aff').html().replace(/<ul(.*?)>(.*?)<\/ul>/gi,"!!")
我真的看不出我做错了什么想法? 请帮助,谢谢
答案 0 :(得分:1)
要转换的HTML字符串包含换行符,但.*?
不匹配。您可以改为使用[\s\S]*?
:
var desc_aff=$('.desc_html_aff').html().replace(/<ul(.*?)>([\s\S]*?)<\/ul>/gi,"!!");
console.log(desc_aff);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class='desc_html_aff'>
sdsdfdfdgdsg
<ul class="pi_ul">
<li>abc</li>
<li>def </li>
<li>ererefe </li>
</ul>
wfwfwsfgdhfhfhdf
dgdfhfj
</div>