jquery - 如何使用 Javascript 动态生成的 Jquery 修改对象?
问题描述
我想将文本附加到由浏览器中的 Algolia 搜索创建的对象。这是由 Algolia 创建的块:
<div id="editing-view-port">
<div></div>
</div>
我想在内部 div 中插入一个字符串。这是我尝试过的:
$(document).find('#editing-view-port > div').append(e.results[0][0].transcript);
其中 e.results[0][0].transcript 是我的字符串。我可以将此附加到不是由 Algolia 搜索创建的对象。我怀疑这与委托或事件绑定有关,但我不确定如何做到这一点?
更新澄清:
这就是我测试 Algolia 创建的对象与我创建的对象的方式...
我的 JS:
$(document).find('#editing-view-port > div').append(e.results[0][0].transcript); // this is an Algolia object
$(document).find('#my-object > div').append(e.results[0][0].transcript); // this is an object created by me
字符串是“测试”
生成的 HTML:
<div id="editing-view-port">
<div></div>
</div>
<div id="my-object">
<div>test</div>
</div>
值得注意的是,当我在 Chrome 中检查动态生成的部分时,它会包装该部分:
#shadow-root (user-agent) == $0
解决方案
您的问题似乎是在执行插入脚本时该元素不存在。当您使用浏览器检查器检查 HTML 时,该元素就在那里。因此,该元素是在两者之间的某个时候创建的。你需要知道它什么时候被插入,然后插入你的文本。如果你不能准确地理解这一点,你应该尝试检测它。请参阅以下内容中的详细信息和可能的解决方案:如何在 jquery 中检测何时将新元素添加到文档中?
编辑:请在评论中说明如果您投反对票应该接受什么。谢谢。
推荐阅读
- bash - 删除从 Bash 中的输入文件中读取的回车符
- python-3.x - 无法同时运行两个循环 python
- php - PHP GNUPG - 解密失败
- sql - 如何将位字符串类型从 Postgres 移植到 Snowflake?
- laravel - (Laravel 8.x)从数据库中获取数据并直接从主布局中使用它而不从参数传递它
- php - 使用 TCPDF 不显示会话消息
- javascript - 谷歌应用程序脚本获取范围以某种方式不起作用我做错了什么?
- html - 如何在boostrap 4中对齐容器中心的导航栏
- python - 将 Scip 与 CPLEX 或 Gurobi 链接
- xml - Oracle 12c,将 SOAP 响应存储到变量中或插入到表中