如何通过jquery插入javascript代码?
问题描述:
<div id="example">
</div>
<script type="text/javascript">
function insert() {
var data = '<script type="text/javascript"> function test() { a = 5; }<\/script>';
$("#example").append(data);
}
function get() {
var content = $("#example").html();
alert(content);
}
</script>
<a href="#" onclick="insert();">INSERT</a>
<a href="#" onclick="get();">GET</a>
</body>
</html>
什么我想要做的:
当我在插入点击,我想插入这个代码为例子格:
<script type="text/javascript"> function test() { a = 5; }<\/script>
当我点击获取,我想获得代码,我在哪里在那里。
但是当我点击插入,然后得到,没有代码..哪里是问题?谢谢
答
您是否使用类似Firebug的工具浏览DOM的实时版本来检查代码?如果您希望在常规浏览器窗口中看到您的代码,则不会这样做,因为脚本标记在插入时实际上会被解析,并且脚本标记在HTML页面中不是可见元素。
答
根据您对Adam Bellaire的评论,您希望脚本标记显示为普通文本。你要做的是用HTML entities对文本进行编码,这将阻止浏览器将其作为普通的HTML进行处理。
var enc = $('<div/>').text('<script type="text/javascript"> function test() { a = 5; }<\/script>').html();
$("#example").append(enc);
答
这工作:
function insert() {
var data = '<script type="text/javascript"> function test() { a = 5; }<\/script>';
$('#example').text(data);
}
function get() {
var content = $('#example').text();
alert(content);
}
是的,但它可以插入JavaScript代码与jQuery的页面,而不是解析?我想插入它像原始字符串或文本。 –