将任何纯文本替换为特定div的类

时间:2015-10-04 14:59:50

标签: javascript jquery html replace

尝试将[make-this-class]之类的纯文本替换为特定div <div class='make-this-class'></div>的{​​{1}}类。

HTML:

<div class='this-div-only'></div>

如何通过jquery将任何纯文本[any-text]替换为dom元素的特定div类?

2 个答案:

答案 0 :(得分:2)

尝试将.html()String.prototype.replace()RegExp /\[(.*)\]/

一起使用

&#13;
&#13;
$(".this-div-only").html(function(i, html) {
  return html.replace(/\[(.*)\]/, $("<div />", {"class":"$1"})[0].outerHTML)
})
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js">
</script>
<div class='not-others-div'>
text text [make-this-class] text
</div>
Text text text
<div class='this-div-only'> <!-- this div only -->
text text [make-this-class] text
</div>
&#13;
&#13;
&#13;

答案 1 :(得分:1)

您存储div的内容,替换您要查找的字符串,最后使用新内容更新div的内容。

var content = $('.this-div-only').html();

var newcontent = content.replace('[make-this-class]', '<div class="make-this-class"></div>');

$('.this-div-only').html(newcontent);