admin管理员组文章数量:1278820
I have this code in JQUERY:
var large='<div class="vip" style ="background:url(./uploads/deal/"+data[a].id+"_1.jpg);">
<span class ="coundtown" value ='+data[a].deal_time_off+' style ="display:none;"></span>
<script> $(document).ready(function(){ $('+data[a].deal_unique_id+').countdown({ date:'+data[a].deal_time_off+'}); }); </script>
<div class = "deal_info clearfix">
<div class = "deal_subject clearfix">
<a href="./deal/'+data[a].deal_unique_id+'">adsfd</a>
</div>
<div style = "clear:both"></div>
<div class="timer">
<img class="img" src="./img/stopwatch.png" border="none" />
<span class ='+data[a].deal_unique_id+'></span>
</div>
</div>
<div class="percent_mini"></div>
</div>';
//$("#left_row").append(large);
But on this line:
<span class ="coundtown" value ='+data[a].deal_time_off+' style ="display:none;">
I get this error:
Uncaught SyntaxError: Unexpected reserved word
what is the problem?
var large='<div class="vip" style ="background:url(/"+data[a].id+"_1.jpg);">
<span class ="coundtown" value ="'+data[a].deal_time_off+'" style ="display:none;"></span>
<script> $(document).ready(function(){ $("'+data[a].deal_unique_id+'").countdown({ date:"'+data[a].deal_time_off+'"}); }); </script>
<div class = "deal_info clearfix">
<div class = "deal_subject clearfix">
<a href="/'+data[a].deal_unique_id+'">adsfd</a>
</div>
<div style = "clear:both"></div>
<div class="timer">
<img class="img" src=".png" border="none" />
<span class ="'+data[a].deal_unique_id+'"></span>
</div>
</div>
<div class="percent_mini"></div>
</div>';
i fixed this variable but still getting error
I have this code in JQUERY:
var large='<div class="vip" style ="background:url(./uploads/deal/"+data[a].id+"_1.jpg);">
<span class ="coundtown" value ='+data[a].deal_time_off+' style ="display:none;"></span>
<script> $(document).ready(function(){ $('+data[a].deal_unique_id+').countdown({ date:'+data[a].deal_time_off+'}); }); </script>
<div class = "deal_info clearfix">
<div class = "deal_subject clearfix">
<a href="./deal/'+data[a].deal_unique_id+'">adsfd</a>
</div>
<div style = "clear:both"></div>
<div class="timer">
<img class="img" src="./img/stopwatch.png" border="none" />
<span class ='+data[a].deal_unique_id+'></span>
</div>
</div>
<div class="percent_mini"></div>
</div>';
//$("#left_row").append(large);
But on this line:
<span class ="coundtown" value ='+data[a].deal_time_off+' style ="display:none;">
I get this error:
Uncaught SyntaxError: Unexpected reserved word
what is the problem?
var large='<div class="vip" style ="background:url(http://mydeal.ge/uploads/deal/"+data[a].id+"_1.jpg);">
<span class ="coundtown" value ="'+data[a].deal_time_off+'" style ="display:none;"></span>
<script> $(document).ready(function(){ $("'+data[a].deal_unique_id+'").countdown({ date:"'+data[a].deal_time_off+'"}); }); </script>
<div class = "deal_info clearfix">
<div class = "deal_subject clearfix">
<a href="http://mydeal.ge/deal/'+data[a].deal_unique_id+'">adsfd</a>
</div>
<div style = "clear:both"></div>
<div class="timer">
<img class="img" src="http://mydeal.ge/img/stopwatch.png" border="none" />
<span class ="'+data[a].deal_unique_id+'"></span>
</div>
</div>
<div class="percent_mini"></div>
</div>';
i fixed this variable but still getting error
Share Improve this question edited Apr 25, 2013 at 0:40 Gia Nebieridze asked Apr 25, 2013 at 0:34 Gia NebieridzeGia Nebieridze 1614 gold badges5 silver badges15 bronze badges 2- 2 JS doesn't have multiline strings like that. – Dave Newton Commented Apr 25, 2013 at 0:41
- 2 This code screams refactoring. – elclanrs Commented Apr 25, 2013 at 0:42
3 Answers
Reset to default 3You can't have newlines in javascript strings without escaping them:
var str1 = "abcd
efgh";
should be:
var str1 = "abcd\
efgh";
Your HTML is spread out over multiple lines so you need to escape the line breaks:
var large='<div class="vip" style ="background:url(./uploads/deal/"+data[a].id+"_1.jpg);">\
<span class ="coundtown" value ='+data[a].deal_time_off+' style ="display:none;"></span>\
<script> $(document).ready(function(){ $('+data[a].deal_unique_id+').countdown({\ date:'+data[a].deal_time_off+'}); }); </script>\
<div class = "deal_info clearfix">\
<div class = "deal_subject clearfix">\
<a href="./deal/'+data[a].deal_unique_id+'">adsfd</a>\
</div>\
<div style = "clear:both"></div>\
<div class="timer">\
<img class="img" src="./img/stopwatch.png" border="none" />\
<span class ='+data[a].deal_unique_id+'></span>\
</div>\
</div>\
<div class="percent_mini"></div>\
</div>';
Don't use html in a variable, much less a script containing html, because it's most difficult to maintenance. do you should use template (Handlebars, undersscore, mustache, ...). good luck!
Ex:
<html lang="en">
<head>
<meta charset="UTF-8">
<script type="text/javascript" src="//cdnjs.cloudflare./ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<script type="text/javascript" src="//cdnjs.cloudflare./ajax/libs/handlebars.js/1.0.0-rc.3/handlebars.min.js"></script>
<title>your title</title>
</head>
<body>
<script id="our-tpl" type="text/x-handlebars-template">
<div class="vip" style ="background:url(./uploads/deal{{deal_unique_id}}_1.jpg);">
<span class ="coundtown" value="{{deal_time_off}}" style ="display:none;"></span>
<div class = "deal_info clearfix">
<div class = "deal_subject clearfix">
<a href="./deal/{{deal_unique_id}}">adsfd</a>
</div>
<div style = "clear:both"></div>
<div class="timer">
<img class="img" src="./img/stopwatch.png" border="none" />
<span class ="{{deal_unique_id}}"></span>
</div>
</div>
<div class="percent_mini"></div>
</div>
</script>
<div class="render"></div>
<script type="text/javascript">
var obj = {deal_unique_id: 1, deal_time_off: "This is your count"},
tpl = Handlebars.pile(($('#our-tpl').html())),
$rend = $('.render');
//render
$rend.html(tpl(obj));
$('.vip').ready(function(){
var el = '.'+obj.deal_unique_id;
$(el).countdown({ date:obj.deal_time_off});
});
</script>
</body>
</html>
I think maybe you are missing quotes around the value for the value
attribute.
<span class ="coundtown" value ="'+data[a].deal_time_off+'" style ="display:none;">
note the value="...
EDIT -- wait wait wait a minute.
Unless that string is all in one line, you need to split it up.
var large='<div class="vip" style ="background:url(./uploads/deal/"+data[a].id+"_1.jpg);"';
large+=' <span class ="coundtown" value ='+data[a].deal_time_off+' style="display:none;"></span>'
...
you can't have one string across many different lines.
本文标签: javascriptUncaught SyntaxError Unexpected reserved wordStack Overflow
版权声明:本文标题:javascript - Uncaught SyntaxError: Unexpected reserved word - Stack Overflow 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.betaflare.com/web/1741257176a2366902.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论