首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用.append()函数的Javascript和.append问题

使用.append()函数的Javascript和.append问题
EN

Stack Overflow用户
提问于 2011-07-31 10:47:11
回答 1查看 238关注 0票数 0

在Grails .append中,我很难从jQuery中添加一个div和jQuery函数。问题是,我试图添加的div是一个RichUI星等块,它是在使用标记时以编程方式编写的。守则如下:

Grails中的代码.gsp:

代码语言:javascript
复制
var textToInsert = [];
textToInsert[1] = '<tr><td>';
textToInsert[2] = artistData.name;
textToInsert[3] = '</td><td><div id="artist2"><richui:rating dynamic="true" id="2" units="5" rating="0"  controller="rating" action="rate"/></div></td></tr>';

$j('#recommendedList').append(textToInsert.join(''));

和生成的html正是这样的:

代码语言:javascript
复制
var textToInsert = [];
                textToInsert[1] = '<tr><td>';
                textToInsert[2] = artistData.name;
                textToInsert[3] = '</td><td><div id="artist2"><div id='r3a44146338e7d18384c9233cb7f7bb82'>
<div class='ratingblock'>  
 <div id='unit_longr3a44146338e7d18384c9233cb7f7bb82'>
  <ul id='unit_ulr3a44146338e7d18384c9233cb7f7bb82' class='unit-rating' style='width: 150px'>
    <li id='r9cd7abbd875dc72e67c84180c5b41704' class='current-rating' style='width: 0px;'>Currently 0.0</li>
    <li><a href="/Ontourtest/rating/rate/2?rating=1" onclick="new Ajax.Updater('r3a44146338e7d18384c9233cb7f7bb82','/Ontourtest/rating/rate/2',{asynchronous:true,evalScripts:true,parameters:'rating=1'});return false;" class="r1-unit rater" title="1">1</a></li>
    <li><a href="/Ontourtest/rating/rate/2?rating=2" onclick="new Ajax.Updater('r3a44146338e7d18384c9233cb7f7bb82','/Ontourtest/rating/rate/2',{asynchronous:true,evalScripts:true,parameters:'rating=2'});return false;" class="r2-unit rater" title="2">2</a></li>
    <li><a href="/Ontourtest/rating/rate/2?rating=3" onclick="new Ajax.Updater('r3a44146338e7d18384c9233cb7f7bb82','/Ontourtest/rating/rate/2',{asynchronous:true,evalScripts:true,parameters:'rating=3'});return false;" class="r3-unit rater" title="3">3</a></li>
    <li><a href="/Ontourtest/rating/rate/2?rating=4" onclick="new Ajax.Updater('r3a44146338e7d18384c9233cb7f7bb82','/Ontourtest/rating/rate/2',{asynchronous:true,evalScripts:true,parameters:'rating=4'});return false;" class="r4-unit rater" title="4">4</a></li>
    <li><a href="/Ontourtest/rating/rate/2?rating=5" onclick="new Ajax.Updater('r3a44146338e7d18384c9233cb7f7bb82','/Ontourtest/rating/rate/2',{asynchronous:true,evalScripts:true,parameters:'rating=5'});return false;" class="r5-unit rater" title="5">5</a></li>
   </ul>
  </div>
 </div>
</div></div></td></tr>';

$j('#recommendedList').append(textToInsert.join(''));

Firebug给出了错误:缺少;在语句textToInsert[3] = '</td><td><div ...='r3a44146338e7d18384c9233cb7f7bb82'>之前

我的猜测是,由于richui标记不带分号,它会生成javascript错误,但我不确定。

有没有办法解决这个问题?非常感谢!

EN

回答 1

Stack Overflow用户

发布于 2011-07-31 11:18:28

这意味着这一行有一个错误(以下所有行,我并不是全部复制它们):

代码语言:javascript
复制
textToInsert[3] = '</td><td><div id="artist2"><div id='r3a44146338e7d18384c9233cb7f7bb82'>

我认为错误在于你没有转义单引号。您可以使用双引号:

代码语言:javascript
复制
textToInsert[3] = '</td><td><div id="artist2"><div id="r3a44146338e7d18384c9233cb7f7bb82">'

如果您想保留单引号,则需要转义它们:

代码语言:javascript
复制
textToInsert[3] = '</td><td><div id="artist2"><div id=\'r3a44146338e7d18384c9233cb7f7bb82\'>
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6888970

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档