Javascript 语法错误:未终止的字符串文字?

Javascript 语法错误:未终止的字符串文字?,javascript,Javascript,如何计算文本区域中的换行数 <?php echo "<textarea value=\"\" id=\"text\" maxlength=\"200\" wrap=\"virtual\" onChange=\"test()\"></textarea> <script> function test() {

如何计算文本区域中的换行数

<?php
echo "<textarea value=\"\" id=\"text\" maxlength=\"200\" wrap=\"virtual\" onChange=\"test()\"></textarea>
<script>
                            function test()
                            {
                                var text = $('#text').val();   
                                var lines = text.split('\n');//SyntaxError: unterminated string literal
                                var count = lines.length;
                                console.log('+'+count); // Outputs 4
                            }
                            </script>";
?>

您需要在
\n
中转义反斜杠。否则,它将由PHP解释,因为它位于双引号字符串中,因此它将成为Javascript中的文字换行符

            var lines = text.split('\\n');

var textarea=document.getElementById(“countLines”);
var spaces=textarea.getAttribute(“cols”);
textarea.onmouseout=函数(){
变量行=textarea.value.split(“\n”);
对于(变量i=0;i如果(lines[i].length,则不需要转义
$(\“\35; text\”)
上的引号。因为这是JS代码,所以实际上需要引号。
<textarea cols="30" id="countLines"></textarea>

var textarea = document.getElementById("countLines");
var spaces = textarea.getAttribute("cols");

textarea.onmouseout = function() {
   var lines = textarea.value.split("\n");

   for (var i = 0; i < lines.length; i++) 
   {
         if (lines[i].length <= spaces) continue;
         var j = 0;

        var space = spaces;

        while (j++ <= spaces) 
        {
           if (lines[i].charAt(j) === " ") space = j;  
        }
    lines[i + 1] = lines[i].substring(space + 1) + (lines[i + 1] || "");
    lines[i] = lines[i].substring(0, space);
  }
    var count = lines.length;
};