【问题标题】:Call JS-function with DOM-elements使用 DOM 元素调用 JS 函数
【发布时间】:2018-03-28 13:51:19
【问题描述】:

我正在请求来自服务器的 DOM 元素 .my-element,并将它们附加到我的页面上。

每当页面上出现新元素时,我想调用 JS 函数 myFunction
我想“自动”调用此函数,而不使用多余的 JS 代码。

我现在就是这样做的。每个渲染的元素都包含标签script,里面有函数调用:

<div class="my-element">
    /*some structure*/
    <script>myFunction();</script>
</div>

但我想知道:是否有一些 HTML 属性可以做到这一点?有些是这样的:

<div class="my-element" javascript="myFunction();">/*some structure*/</div>

UPD
我不想使用附加新项目的代码调用myFunction。我想完全使用标签script 或一些魔法属性来解决这个任务。

【问题讨论】:

  • JS 是做什么的?不能在服务器端执行相同的任务吗?
  • @Teemu no, myFunction 不能在服务器上执行
  • 你能将 myFunction 与从服务器拉取新元素的代码挂钩吗?
  • 没有这样的属性。将单个脚本放在正文末尾,收集所有具有my-element 类的元素,循环收集并调用在循环中传递元素的函数。
  • JS 的范围不限于它嵌套的 HTML 元素,因此您建议的标记实际上没有什么意义。为什么您想要通过追加新项目的调用来调用myFunction()?这实际上是正确的方法。

标签: javascript html


【解决方案1】:

也许使用像getElementsByClassName 这样的东西,它返回一个带有你的类my-element 的DOM 元素的实时集合。然后,您可以观察集合中的变化并在必要时运行您的函数。

【讨论】:

    猜你喜欢
    • 2020-07-13
    • 1970-01-01
    • 1970-01-01
    • 2021-06-10
    • 1970-01-01
    • 1970-01-01
    • 2012-10-21
    • 1970-01-01
    • 2022-01-23
    相关资源
    最近更新 更多