这个问题非常自我解释。我想要做的是用jQuery更改textarea的值。我所做的是:
$( '#embedcode' ).val( "<script id='embed_1' src='/javascripts/test.js' type='text/javascript'></script>" );
这样做的正确方法是什么。我一直收到错误:
Uncaught SyntaxError: Unexpected identifier
如何使我想要添加为字符串而不是脚本。
答案 0 :(得分:4)
你走了:
使你的字符串像这样:
$('#embedcode').val("<script id='embed_1' src='\/javascripts\/test.js' type='text\/javascript'><\/script>");
看看我为你制作的这个JsFiddle:
答案 1 :(得分:3)
您的代码似乎完美无缺。这是现场演示:Click here
您需要检查出现错误的行号。
编辑:我刚想到了。如果您的html标记有错误(可能是未关闭的textarea),则可以将脚本评估为脚本标记而不是文本。检查一下。 Here is a live example of an html error that will cause your problem. Click here.
更新:我相信我确切知道真正的问题是什么。其他帖子建议你逃避'&lt;'和'&gt;',但只有当你使用的这个javascript实际上是在一个html文件(或由服务器生成的html)而不是在它所属的js文件中时,才应该这样做。在js文件中,它自然就是你编写的字符串,但html文件将其视为标记,即使它并非如此。这是为什么你应该遵循最佳实践并将javascript保存在js文件中的一个例子。
答案 2 :(得分:3)
你需要逃避“&lt;”和“&gt;”。
$('#embedcode').val("\<script id='embed_1' src='/javascripts/test.js' type='text/javascript'\>\</script\>");
答案 3 :(得分:2)
使用<
>
和\