2013-07-03 23 views
0

運行Splunk示例並在此函數中出現錯誤。未捕獲SyntaxError:jQuery中的意外令牌ILLEGAL

var injectCode = function(code) { 
    var sTag = document.createElement("script"); 
    sTag.type = "text/javascript"; 
    sTag.text = code; 
    $(head).append(sTag); 
    return sTag; 
} 

確切的錯誤在$(head).append(sTag);。這是放置在一個Jade文件中,它在節點上運行。我在這裏做錯了什麼?

編輯 - 對不起,head被定義爲右var head = $("head");功能的上方。

而且code來源於此功能

var getCode = function(id) { 
    var code = ""; 
    $(id + " pre li").each(function(index, line) { 
     var lineCode = ""; 
     $("span" ,line).each(function(index, span) { 
      if ($(span).hasClass("com")) { 
       lineCode += " "; 
      } 
      else { 
       lineCode += $(span).text(); 
      } 
     }); 
     lineCode += "\\n"; 
     code += lineCode; 
     }); 
     return code; 
    } 
+1

什麼是「頭」?之前定義過嗎? –

+1

你確定'head'存在嗎?也許它應該是'document.head'? –

+0

你從哪裏得到錯誤? – SLaks

回答

3

頭是一個標籤,使用:

$('head').append(sTag); 

編輯:

我要說刪除此:

lineCode += "\\n"; 
+1

'這是放置在一個Jade文件中,它在節點上運行。 ' - Node/Jade中是否存在一些定義'head'的東西,讓它在更改之前就可以工作?如果你使用'$(head)'和'head'沒有定義,你將不會得到OP報告的異常 – Ian

+0

@ I am ya true,但我不知道OP在說什麼類型的錯誤。抱歉,伊恩,我現在看到了標題...... **意外的令牌非法在jQuery ** –

+0

沒什麼大不了的,只是想指出這些東西:) – Ian

1

嘗試爲

lineCode += "\n"; 

交換lineCode += "\\n";我假設你正在處理的代碼串(到要添加新行),而不是字符串文字字符串(到要添加\n字面)。

相關問題