我正在集成实时聊天功能,我正在尝试使用JQuery语句从聊天启动前未创建的div ID中获取聊天会话ID。 (它会动态添加到页面中。)当然,从逻辑上讲,我确保在聊天开始并且存在之前我不会尝试选择该元素。这是相关的HTML结构和我正在使用的代码行:
HTML:
<!--These do not exist until a chat is started-->
<div class="customer_inner_widget">
<div id="chat-session-5748220" style="height:100%;">
JQuery的:
$(".customer_inner_widget").children().first().attr("id").split("-")[2]
最奇怪的是,在正常情况下,当我在关闭聊天时在我的脚本中运行它或者在聊天开始后我在谷歌Chrome开发者工具控制台中运行它时,它不起作用:
Output:
Uncaught TypeError: Cannot read property 'split' of undefined
at <anonymous>:1:58
...但如果我只是右键单击我页面上的聊天窗口并选择&#34;检查&#34;,然后在控制台中运行相同的代码行...它可以工作:
Output:
"5748220"
如何检查HTML wilth Chrome突然导致它工作......?如何在我的脚本中执行这个隐藏的魔法?
答案 0 :(得分:0)
因此,问题似乎与我尝试访问的孩子位于iFrame中的事实有关,显然您无法访问iFrame中的外部动态添加内容。我想JQuery只是在检查之后才意识到内部是什么,因为它被迫发现元素。