4

The question is pretty self explanatory. What I want to do is changing the value of a textarea with jQuery. What I do is:

$( '#embedcode' ).val( "<script id='embed_1' src='/javascripts/test.js' type='text/javascript'></script>" );

What is the right way to do that. I keep getting an error :

Uncaught SyntaxError: Unexpected identifier

How to make the that I want to add as a string not a script.

4

4 回答 4

4

干得好:

让你的字符串像这样:

$('#embedcode').val("<script id='embed_1' src='\/javascripts\/test.js' type='text\/javascript'><\/script>");

看看我为你制作的这个 JsFiddle:

http://jsfiddle.net/KB9Qn/14/

于 2013-09-03T04:06:48.117 回答
3

您需要转义“<”和“>”。

$('#embedcode').val("\<script id='embed_1' src='/javascripts/test.js' type='text/javascript'\>\</script\>");

演示

于 2013-09-03T04:11:45.023 回答
3

您的代码似乎运行良好。这是现场演示:点击这里

您需要检查出现该错误的行号。

编辑:我只是有这个想法。如果您的 html 标记有错误(可能是未封闭的文本区域),则可以将脚本评估为脚本标记而不是文本。检查一下。这是一个会导致您的问题的 html 错误的实时示例。点击这里。

更新:我相信我确切地知道真正的问题是什么。其他帖子建议您转义“<”和“>”,但只有当您使用的这个 javascript 实际上是在 html 文件(或服务器生成的 html)中而不是在 js 文件中时,才应该这样做它属于。在 js 文件中,它自然会是您编写的字符串,但 html 文件将其视为标记,即使它不是有意的。这是为什么您应该遵循最佳实践并将 javascript 保存在 js 文件中的示例。

于 2013-09-03T03:49:58.943 回答
2

转义字符串中的<and>\

于 2013-09-03T03:52:54.367 回答