从pre元素获取内容并以javascript形式运行
Get content from pre element and run as javascript
所以我有一堆JavaScript片段,每个片段都包含在它们自己的pre
标记中。我想知道是否可以从pre
标签中获取内容并将其作为JavaScript运行。
例如,假设我的一个pre
标签如下所示:
<pre id="basic-alert">alert('Hello World');</pre>
当我点击一个按钮时,我想从这个pre
中获取内容,并将其作为JavaScript运行。
我知道我可以简单地做这个
$('[data-target="#basic-alert"]').on('click', function(e) {
alert('Hello World');
});
但我有很多代码示例,我想知道是否可以避免将它们添加到JavaScript文件中。我想做一些类似的事情
<div class="code-example">
<button>Run Code</button>
<pre>alert('Hello World');</pre>
</div>
然后在JavaScript 中调用类似的东西
$('.code-example > button').on('click', function(e) {
var code = $(this).closest('.code-example').find('pre').text();
executeJS(code);
});
executeJS
不是我制作的函数,我只是使用了它,因为我不确定动态执行JavaScript代码的代码是什么。
我确实可以访问PHP
进行任何服务器端脚本编写。不确定这是否会让这项任务变得更容易,但我想我无论如何都会说出来。如果这是不可能的,请告诉我。
你必须像这个一样更改你的代码
$('.code-example > button').on('click', function(e) {
var code = $(this).parent().find('pre').html();
eval(code);
});
<pre id="basic-alert">alert('Hello World')</pre>
<button onclick="eval(document.getElementById('basic-alert').innerHTML);">Click Me!</button>
jQuery编辑:
<pre id="basic-alert">alert('Hello World')</pre>
<button onclick='eval($("#basic-alert").text());'>Click Me!</button>
用eval()
替换executeJS()
,它应该可以正常工作。
有关javascript eval的更多信息。
相关文章:
- Javascript运行php文件,然后下载文件
- JavaScript运行时是如何工作的
- Javascript运行Total保持添加
- JavaScript运行时事件循环现有技术
- 当出现javascript运行时错误时会发生什么
- 使用JavaScript运行脚本
- 在gwt HTMLPanel中使用JavaScript运行Google图表
- 在从HTML表单提交时从javascript运行php
- JavaScript运行时错误:完成此操作所需的数据尚不可用
- RoR最快的javascript运行时
- Windows 8应用程序正在运行,现在得到0x800a1391-JavaScript运行时错误:'WinJS&
- 如何从 MVC4 链接调用 Javascript 方法(错误 JavaScript 运行时错误:对象不支持此操作)
- JavaScript运行后,页面在右侧被切断
- JavaScript 运行时错误仅在本地计算机上
- JavaScript 引擎和 JavaScript 运行时环境有什么区别
- 如何从javascript运行java代码
- Javascript 运行时错误:“应用程序未定义”
- 从Javascript运行PHP文件来检查在线用户:表示未登录的用户是
- JavaScript运行时错误,未定义jQuery
- MVC4和日期选择器:“;0x800a01b6-JavaScript运行时错误:对象没有't支持属性或方法