javascript - 将属性的内容转换为函数并执行

标签 javascript jquery

举个例子:

<div id="Demo" data-after-load="alert('Woof!')">Loading...</div>

您会注意到我已将自定义 data- 属性添加到 div - id 喜欢做的是:

  • 检查div是否包含该属性
  • 如果是,将属性的内容存储为一个匿名函数,稍后执行
  • 稍后执行匿名函数

这是我目前所拥有的:

var runLater = function () {};
if ($("#Demo").attr("data-after-load")) {
    runLater = ?????;
}
runLater();

最佳答案

if($("#Demo").data('afterLoad') !== undefined){
    var runLater = $("#Demo").data('afterLoad');
}
eval(runLater);

不过,通常有比必须使用 eval 更好的方法.也许解释一下您使用它的目的,并且可能有更好的设计来满足您的要求。

关于javascript - 将属性的内容转换为函数并执行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20357119/

相关文章:

javascript - IE 和 Edge 上 drawImage 的 IndexSizeError

javascript - 我们可以使用 javascript 从母版页访问内容页元素吗?

JavaScript:按一个键对项目进行分组,按另一个键对(!)组内的项目进行排序 - 怎么样?

jquery - jQuery 中比较两个选择框值的奇怪行为

javascript - 按字母顺序排序下拉列表,然后按特定前缀排序

javascript - 在javascript中按顺序执行函数?

javascript - Json AJAX 不工作,响应有问题?

javascript - 如何在jqgrid中为排序的列标题加下划线

javascript - 对象键迭代问题

java - 如何将 javascript 对象传递给 GWT 方法并解析结果