如何通过jquery插入javascript代码?

问题描述:



如何通过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页面中不是可见元素。

+0

是的,但它可以插入JavaScript代码与jQuery的页面,而不是解析?我想插入它像原始字符串或文本。 –

根据您对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); 
}