2013-01-09 93 views
0

执行脚本的结果我在那的onClick调用到下一个脚本一个简单的HTML文件中的按钮:显示在一个HTML div标签

function onShowTest() { 
    $('div#content').html('<script>alert("Hello")</script>'); 
}; 

所以基本上当我点击按钮,我只是得到一个警告。

我实际上想实现的是,在div标签(content)中,我将看到脚本的结果,该脚本绘制了一些内容(不仅仅是示例中的警告,与示出的结果无关在div标签中)。

此外,该函数位于其他一些名为utils.js的文件中。

我试过使用jQuery.getScript()但我只是无法得到它的工作。

+1

执行的脚本没有返回值,它只是有副作用。因此,在你的代码片段中,无论脚本标记包含什么,你都会将'undefined'传递给'html()'函数。 –

+0

@ user550413你只是试图使用utils.js中定义的函数向DIV注入一些内容? –

+0

好的,但我怎么能实现我所描述的(甚至以其他方式)? – user550413

回答

3

要在原地生成HTML,您需要使用类似document.write之类的东西,但这只适用于解析时间。一旦HTML文档完成,调用它将启动一个新文档并删除现有内容。

如果你想在某个地方生成HTML,那么你需要使用DOM操作来完成它,并且你不能根据脚本元素的出现位置来完成它。

如果你想绘制东西,那么你需要使用SVG,画布或其他API来创建图像。 SVG只是更多的DOM操作。画布首先需要DOM操作来创建一个画布元素,然后在该元素上调用canvas API方法。

如果你想要的代码要去做那些来自其他地方,而是从“这里”得到了目标,那么你应该写一个功能做处理,并通过它告诉它在哪里执行参数操纵。

+0

最初我有几个jsp文件,并使用ajax动态地将它们注入到同一个div标签区域。然后我有一个jsp文件,其中包含一个绘制图表的js脚本,但图表部分未显示。 – user550413