Javascript 元素在页面加载时显示为空

Javascript 元素在页面加载时显示为空,javascript,jquery,css,smooch,Javascript,Jquery,Css,Smooch,我试图将一个悬停函数附加到由脚本(使用Smooch api)生成的动态div ID。即使在加载所有内容后在控制台中运行该函数,该函数也不起作用 我试着做: $(document).on("mouseenter", "#messenger-button", function() { alert("hey") }); 我经常遇到这样的错误:uncaughttypeerror:无法读取未定义的属性“on” 启动Smooch api后生成的html如下所示: <iframe> &

我试图将一个悬停函数附加到由脚本(使用Smooch api)生成的动态div ID。即使在加载所有内容后在控制台中运行该函数,该函数也不起作用

我试着做:

$(document).on("mouseenter", "#messenger-button", function() {
    alert("hey")
});
我经常遇到这样的错误:
uncaughttypeerror:无法读取未定义的属性“on”

启动Smooch api后生成的html如下所示:

<iframe>
 <html>
   <div id="messenger-button" style="background-color: rgb(10, 74, 119);>
 </html>
</iframe>


您需要选择iframe并获取其内容,然后从中更改元素,请参见

$(document).ready(function(){
    var iFrameDOM = $("iframe").contents();

    iFrameDOM.find("#messenger-button").addClass("new-messenger");
});

听起来你好像没有jQuery。控制台中的$不是jQuery…$querySelector可能是的副本,除非iframe与您的站点来自同一个域,否则您无法以这种方式访问iframe的内容。@epascarello我确实安装了jQuery。我可以使用jQuery将悬停状态附加到我创建的静态div。它只是不适用于动态内容。jQuery不会返回未定义的内容