SyntaxError:未终止的字符串文字 … 标记在字符串变量中不起作用

请查看我的代码。

var id = 1; var htmlText = '
    viewMiniProfile("'+id+'",this);
    Blah Blah Blah
    444444
    '; $('#contents').html(htmlText);

    上面的代码我得到以下错误 –

    在此处输入图像描述

    如果我删除它的工作正常。 请检查并让我知道。

    编辑:

    完整代码 –

     function modelInfo(id, username) { var pageUrl = $('#pageurl').val(); $('#model-popup-box1 h3').addClass('newsfeed'); var content_area = $('#model-popup-content1'); content_area.html('Please wait...'); $('#model-popup-box-title1').html('About ' + username); $('#model-popup-body1').show(); content_area.html('
      viewMiniProfile("'+id+'",this);
      Blah Blah Blah
      444444
      '); var innerHtml = "
    • Mini-Profile
    • " + "
    • Tokens
    • " + "
    • Notes
    • PM Logs
    • "; var ul = document.getElementById("tabs1"); ul.innerHTML = innerHtml; $('#horizontalUserPopup').responsiveTabs({ rotate: false, startCollapsed: 'accordion', collapsible: 'accordion', setHash: true, disabled: [4, 5] }); }

      我将假设您的引用代码在script标记中,如下所示:

       
      '); // ...stuff here...

      如果是这样,问题是外部script标记在字符串的中间终止,因为浏览器中的HTML解析器不解释JavaScript代码,它只是扫描它寻找来确定标签结束。 因此,传递给JavaScript解析器的代码是

       $('#contents').html('

        ...确实有一个未终止的字符串文字。

        您可以通过以下方式修复:

        1. 将您的JavaScript代码放在.js文件中并链接到它,或者

        2. 在字符串中的结尾脚本标记中的/之前加一个反斜杠:

           $('#contents').html('... 

          \阻止浏览器的解析器看到序列 ,因此它不认为脚本在那里结束。 但是,在JavaScript字符串中, \/只是/

        你需要使用\来转义它,否则它将成为HTML的一部分。

         var htmlText = '
          '; $('#contents').html(htmlText);
          Interesting Posts