在我的 web 应用程序中,我需要创建许多具有不同内容(即文本和评级不同,按钮 ID 不同)的相同块(一些文本、评级、一些按钮)。为此,我正在使用 jQuery 模板。
同时,对于评分,我使用“Raty”jQuery 插件。它将评级显示为填充和空星的数量,并且在模板填充数据时应将值传递给它。
但是,在模板处理时,我找不到将插件应用到相应 div 的方法。
这是代码。
- 模板
//警报只是为了检查我们是否可以访问必要的数据<script id="clientTemplate" type="text/html"> <span class="firstline" id="firstline_${id}">${firstline} <div class="star" id="s_${id}" style="cursor: pointer; width: 100px;"></div> {{if unescape( alert($data.importance) )}}{{/if}} </span> </script>
- 这就是我们需要应用于
star
div 的内容: //我需要将值替换为下面 的值$(".star").raty({ half : true, score : 2.5, readOnly : false, click : function(score, evt) { if (readonly) { return false; } _id = $(this).attr("id"); _id = id.replace("s", ""); _id = _id.trim(); $.ajax({ url : "importancereceive.html", type : "POST", data : { id : _id, importance : score }, success : function(data) { if (data != "1") { alert("Failed to mark plan as completed"); } }, error : function(jqXHR, textStatus, errorThrown) { alert("error: " + textStatus); alert("error: " + errorThronwn); } }); } });
score
importance
- 这是数据
<script> var clientData = [ { id : 1, firstline : "My first line", importance : 2.0 } ]; </script>
如何在生成时将此插件应用于每个star
div?我知道,知道项目的 id 我可以遍历整个 DOM 并将特定importance
值设置为特定的star
div,但这意味着多次遍历整个 DOM,这可能会给手机/平板电脑带来问题,尤其是. 如果列表变大。有没有办法在生成时将上述内容应用于 div?