问题:
我正在尝试在复选框上获取搜索过滤器。所以每次点击一个复选框时,结果都会相应显示。因此,要显示结果,我目前正在使用$('#editor-master').html('');
清除页面,其中editor-master是最外层的元素。我在<script=text/template>
内有一个空的类似html片段,所以你们都知道浏览器会忽略这些内容。所以,对于我的结果,我克隆了这段html代码,如下所示:
$newTemplate = $template.clone();
$ newTemplate将有:
<div class="featured-box featured-box-primary">
<div class="box-content">
<div class="editor">
<div class="row">
<div class="col-md-12">
<div class="col-md-9 text-left">
<h4 id="username||id||" value=""></h4>
<i class="icon icon-star"></i>
<i class="icon icon-star"></i>
<i class="icon icon-star"></i>
<i class="icon icon-star"></i>
<i class="icon icon-star-o"></i>
<p class="ratings">
</p>
</div>
<div class="col-md-3" id="||editor_id||">
<span id="favorite||id||" class="userstar user-favorite-stars"></span>
<span class="usericon"><i class="icon icon-user"></i></span>
</div>
</div>
</div>
<div class="row margin-bottom-10">
<div class="col-md-12">
<dl>
<dt>Credentials</dt>
<dd class="margin-bottom-10" id="credentials||id||"></dd>
<dt>Specialties</dt>
<dd class="margin-bottom-10" id="editor_specialties||id||"></dd>
<dt>No of Words</dt>
<dd class="margin-bottom-10"></dd>
<dt>Description</dt>
<dd id="self_description||id||"></dd>
<!--dt>Approval Date</dt>
<dd id="approval_date||id||"></dd-->
</dl>
<div class="col-md-12 margin-top-10">
Unavailable until
</div>
<div class="col-md-6 margin-top-10">
<a href="" class="btn btn-primary btn-sm" id="submit_doc||id||">Submit a Document</a>
</div>
<div class="col-md-6 margin-top-10">
<a href="" class="btn btn-primary btn-sm">Free Sample Edit</a>
</div>
</div>
</div>
</div>
</div>
</div>
我试图找到所有匹配|| id ||的id属性并用循环中递增的数字替换它,以及|||| editor_id ||||
到目前为止,我已经尝试了,$target = $("#editor-master");
$newTemplate.appendTo($target);
$target.replace(/||id||/g,j);
$target.replace(/||editor_id||/g,value.editor.id);
$target.find('h4').text(value.username);
和
$target = $("#editor-master");
$target.append($newTemplate.toString().replace(/||id||/g, j));
哪个不起作用。 感谢。
编辑回答&#34; sb&#34;的问题:
首先将html字符串化,替换匹配的字符串并将其恢复为原始html:所以这里$target.append(t)
是我正在寻找的html内容。
var t = $newTemplate.get(0).outerHTML;
t = t.replace(/\|\|id\|\|/g,j);
t = t.replace(/\|\|editor_id\|\|/g,value.editor.id);
//append to target, which will render the html with replaced values.
$target.append(t);
答案 0 :(得分:2)
|
是一个特殊字符,必须进行转义:\|
例如,在"aa||id||bb"
中,您可以找到||id||
的{{1}}
使用正则表达式时,您可以随时使用Lea Verou http://leaverou.github.io/regexplained/等工具来帮助您。