javascript - 如何在呈现后立即显示动态 html 代码并在其上调用动态 jquery
问题描述
我正在开发 React Typescript 应用程序。我从 api 调用响应中获取一些 html 及其 jQuery 脚本。我想从组件渲染该 html,并希望在 html 渲染后立即调用该 jQuery 脚本。这是示例。
html代码:
<div>
<div id="day">This is day div</div>
<div id="night">This is night div</div>
<div>
jQuery代码:
$('#day').show();
$('#night').hide();
因此,当组件加载时,两个 div 都将被渲染,但之后 jquery 将运行并隐藏夜间 div,只有白天 div 应该是可见的。
解决方案
在开始时在要隐藏的元素上声明一些不显示的样式标签(JQuery .show 和 .hide 在 display:block 和 display:none 之间发生变化,因此接下来对 .show 和 .hide 的调用可以正常工作):
<div id="day" style="display:block;">This is day div</div>
<div id="night" style="display:none;">This is night div</div>
如果您想不惜一切代价使用Javascript,那么您可以在 div 块之后添加一个标签(只是)。如果块在 div 之后,那么 div 将可用于修改 Javascript 代码。
但是可能 JQuery 还不可用,因为 JQuery 通常被推荐在页面底部加载。您可以更改 JQuery 加载位置,也可以使用简单的 Javascript:
document.getElementById("day").style.display = "none";
或者您也可以隐藏所有页面内容,直到调用 .ready。
推荐阅读
- powerbi - 修复 PowerBI / DAX 计算的动态返回文本,错误提示“提供的多个值表......其中需要单个值”
- matlab - 如何有垂直 x 标签?
- dialogflow-es - 应用程序现在没有响应。MalformedResponse - 在平台响应中找不到 RichResponse 或 SystemIntent
- python - 基于烧瓶的 REST api:marshmallow 与 flask-restful
- node.js - 使用 babel-node 或 node -r @babel/register 时,vscode 调试器显示带有 _“下划线”前缀的导入变量
- c# - 在 caliburn.Micro 上将子 ViewModel 共享到 ShellViewmodel
- javascript - 比较 2 个数组并检查位置
- python - 在一个只包含 1 和 0 的数组中找到第一个 1 的索引,所有的 0 都在数组的左侧,而所有的 1 都在右侧?
- python - sklearn 中 NearestNeighbour 中的第二个参数
- c# - 使用 O(1) 内存、O(n) 运行时复杂度和无双重枚举实现 LINQ“谓词块”