这是我的JS代码:
var imgTitle = "fizz";
var imgTitle2 = "fizz";
var imgInfo = "buzz";
var imgSrc = "foo";
var liHTML = "<li class='imgThumbLi ui-draggable' title='IMG_TITLE'><img class='image' src='IMG_SRC' title='IMG_TITLE'/><div class='imageInfo'><p class='detailTitle'>IMG_INFO</p></div></li>";
// Search and replace all dummy values.
liHTML.replace("IMG_TITLE", imgTitle);
liHTML.replace("IMG_TITLE2", imgTitle2);
liHTML.replace("IMG_SRC", imgSrc);
liHTML.replace("IMG_INFO", imgInfo);
alert(liHTML);
将其打印出来:
<li class='imgThumbLi ui-draggable' title='IMG_TITLE'><img class='image' src='IMG_SRC' title='IMG_TITLE'/><div class='imageInfo'><p class='detailTitle'>IMG_INFO</p></div></li>
(与字符串替换调用之前相同)。在Firebug中我收到一个错误说明:
c.replace不是函数
在上面的代码片段执行时随时获取此错误。 为什么这个字符串替换不起作用?!?!提前致谢!
答案 0 :(得分:11)
试
liHTML = liHTML.replace("IMG_TITLE", imgTitle);
答案 1 :(得分:1)
您需要在每一行设置新值。
liHTML = liHTML.replace("IMG_SRC", imgSrc);
答案 2 :(得分:1)
您没有对替换值执行任何操作。尝试:
var imgTitle = "fizz";
var imgTitle2 = "fizz";
var imgInfo = "buzz";
var imgSrc = "foo";
var liHTML = "<li class='imgThumbLi ui-draggable' title='IMG_TITLE'><img class='image' src='IMG_SRC' title='IMG_TITLE'/><div class='imageInfo'><p class='detailTitle'>IMG_INFO</p></div></li>";
// Search and replace all dummy values.
liHTML = liHTML.replace("IMG_TITLE", imgTitle);
liHTML = liHTML.replace("IMG_TITLE2", imgTitle2);
liHTML = liHTML.replace("IMG_SRC", imgSrc);
liHTML = liHTML.replace("IMG_INFO", imgInfo);
alert(liHTML);
答案 3 :(得分:0)
您必须将结果保存在变量liHTML中:
liHTML = liHTML.replace("IMG_TITLE", imgTitle);
liHTML = liHTML.replace("IMG_TITLE2", imgTitle2);
liHTML = liHTML.replace("IMG_SRC", imgSrc);
liHTML = liHTML.replace("IMG_INFO", imgInfo);
//编辑 有点慢:D
答案 4 :(得分:0)
你有几个问题。首先你没有设置值。替换只是生成新值。第二个问题是,在你的情况下你应该使用replace-all而不是replace。
替换仅替换第一个实例。
// Scope should have one var. Combine those vars.
var imgTitle = "fizz",
imgTitle2 = "fizz",
imgInfo = "buzz",
imgSrc = "foo",
liHTML = "<li class='imgThumbLi ui-draggable' title='IMG_TITLE'><img class='image' src='IMG_SRC' title='IMG_TITLE'/><div class='imageInfo'><p class='detailTitle'>IMG_INFO</p></div></li>";
// Search and replace all dummy values.
liHTML = liHTML.replace(new RegExp("IMG_TITLE", 'g'), imgTitle);
liHTML = liHTML.replace(new RegExp("IMG_TITLE2", 'g'), imgTitle2);
liHTML = liHTML.replace(new RegExp("IMG_SRC", 'g'), imgSrc);
liHTML = liHTML.replace(new RegExp("IMG_INFO", 'g'), imgInfo);
alert(liHTML);