這是推動我瘋了:Jquery的字符串替換不工作
// Get the comment template
var comment = $('#CommentTemplate').html();
// Delete all entered text
$("textarea#NewComment").val('');
// Get comments returned ID
var ThisCommentsID = data.substring(2, data.length);
var d = new Date();
// Replace comment variables
comment = comment.replace("{CID}", ThisCommentsID);
comment = comment.replace("{USERNAME}", CurrUsername);
comment = comment.replace("{BODY}", Message);
comment = comment.replace("{GRAV}", GravHash);
comment = comment.replace("{CLEARDATE}", GravHash);
comment = comment.replace("{ISODATE}", ISODateString(d));
comment = comment.replace("{USERURL}", RelURL + CurrUsername);
// Add it
$('#comment-total-wrap').prepend(comment);
這基本上工程100%的罰款,動態地添加到與AJAX查詢列表中的註釋,但在模板上的所有值都現身仍然是{CID},{GRAV}等等。它不會拋出任何錯誤,替換不起作用。
我已經試過:
comment = comment.replace("{BODY}", Message);
以及,但它仍然只是顯示爲函數體在輸出HTML。任何幫助讚賞。
頁面上的HTML模板是:
<div id="CommentTemplate" style="display:none;">
<div id="cid{CID}" class="comment-wrapper">
<div id="CommentHead" class="comment-head ch-highlight">
<div class="comment-date">
<abbr class="timeago" title="{ISODATE}" id="Timeago{CID}">{CLEARDATE}</abbr>
</div>
<div class="comment-author">
Written by <a id="CommentAuthorLink" title="Visit this game makers profile" href="{USERURL}">{USERNAME}</a>
</div>
</div>
<table class="comment-body" width="100%">
<tr>
<td width="100" valign="top" align="center">
<a id="GravLink" title="{USERNAME} makes games with Construct 2" href="{USERURL}"><img id="GravatarComment" title="{USERNAME}'s Gravatar" class="comment-avatar" src="http://www.gravatar.com/avatar/{GRAV}?r=pg&s=80" /></a>
</td>
<td valign="top">
<div class="comment-txt">
{BODY}
</div>
</td>
</tr>
</table>
<div class="clear"></div>
</div>
</div>
您正在使用str = str.replace,因爲它必須存儲...最新值。 – kobe 2011-04-24 22:30:24
它的表現很奇怪,它取代了身體好,但沒有其他人。 – 2011-04-24 22:33:36