简体   繁体   English

Uncaught SyntaxError:意外的保留字

[英]Uncaught SyntaxError: Unexpected reserved word

I have this code in JQUERY: 我在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 Uncaught SyntaxError:意外的保留字

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 我修复了此变量,但仍然出现错误

You can't have newlines in javascript strings without escaping them: 您不能在javascript字符串中包含换行符,而必须将它们转义:

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: 您的HTML分布在多行中,因此您需要避免换行符:

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. 不要在变量中使用html,更不要在包含html的脚本中使用,因为它最难维护。 do you should use template ( Handlebars , undersscore , mustache, ...). 您是否应该使用模板( Handlebars下划线 ,胡须...)。 good luck! 祝好运!

Ex: 例如:

    <html lang="en">
    <head>
      <meta charset="UTF-8">
      <script type="text/javascript" src="//cdnjs.cloudflare.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>

      <script type="text/javascript" src="//cdnjs.cloudflare.com/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.compile(($('#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. 我认为您可能在value属性的value周围缺少引号。

<span class ="coundtown" value ="'+data[a].deal_time_off+'" style ="display:none;">

note the value="... 注意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. 您不能在许多不同的行中使用一个字符串。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 未捕获的语法错误:意外的保留字(等待) - Uncaught SyntaxError: Unexpected reserved word (await) 未捕获的语法错误:意外的严格模式保留字 - Uncaught SyntaxError: Unexpected strict mode reserved word 电子,反应,Webpack“未捕获的SyntaxError:意外的保留字” - electron, react, webpack “Uncaught SyntaxError: Unexpected reserved word” 仅在Android设备上收到“未捕获的SyntaxError:意外的保留字”错误? - got “Uncaught SyntaxError: Unexpected reserved word” error only on android devices? 未捕获的语法错误:意外的严格模式保留字 Vue.js - Uncaught SyntaxError: Unexpected strict mode reserved word Vue.js 为什么我会收到“Uncaught SyntaxError: Unexpected reserved word”? - Why am I getting "Uncaught SyntaxError: Unexpected reserved word"? Uncaught SyntaxError:较旧的android版本上的意外保留字 - Uncaught SyntaxError: Unexpected reserved word on older android version 如何解决 Firebase 中的“Uncaught SyntaxError: Unexpected reserved word (at index.html:93:36)”? - How to solve 'Uncaught SyntaxError: Unexpected reserved word (at index.html:93:36)' in Firebase? SyntaxError:流星包中出现意外的保留字“export” - SyntaxError: Unexpected reserved word 'export' in meteor package SyntaxError:异步函数中意外的保留字“await” - SyntaxError: unexpected reserved word 'await' in async function
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM