javascript - 从 javascript 重新加载 DIV
问题描述
我不是 JavaScript 方面的经验丰富的程序员,我正在努力在指定的 DIV 中重新加载数据。
我这里有一个例子。原始代码更复杂,我包含一个禁用日期的日历。更新后计算新的禁用天数,并应在日历中列出。但是,此示例显示了该问题。单击按钮时,应显示文本“更新的文本”而不是“原始文本”。
有什么建议么?
var bla = "Original text";
function js_updtest() {
bla = "Updated text";
$("#test").load(" #test");
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div id="inlay">
<div id="middle">
<div id='test'>
<script type="text/javascript">
document.write(bla)
</script>
</div>
<input type='button' value='Update' name='Updatetext' onclick='js_updtest();'>
</div>
</div>
解决方案
这里有几个基本问题,最好的办法可能是从一些介绍性的 JavaScript 教程重新开始。但具体来说,这两个问题是:
在这里,您为变量设置了一个新值:
bla = "Updated text";
但是您不会在任何地方重复使用该变量。当页面加载时,它被使用过一次,并带有它的初始值。更新变量的值并不会更新所有已经使用过它的地方。
更新后,使用它。例如:
document.getElementById('test').innerText = bla;
(请注意,这也是最初在页面加载时使用变量的更好方法。
document.write()
几乎普遍不赞成。不要从写入文档的角度考虑它,从识别 DOM 元素的角度考虑它更新和更新它。)你甚至想在这里做什么?:
$("#test").load(" #test");
jQuery
.load()
函数用于发出 AJAX 请求以从服务器获取新内容并将其直接写入目标元素。但这似乎根本不是您想要做的。看起来这个语句(以及一般的 jQuery)可以被删除。
推荐阅读
- google-bigquery - 从查询中获取天数间隔
- javascript - 验证多个复选框
- r - How to suppress a double-reaction in R-Shiny?
- node.js - SSO with kerberos and openldap in docker
- github - 使用 API 获取 GitHub 私有仓库的拉取请求评论评论
- android - 为什么尝试使用 Unity 拍照时相机视图太宽且不清晰?
- chatbot - 无法在 Botium 报告中展开对话
- javascript - 如何在图片悬停时在 CSS 中创建分离动画?
- python-3.x - 如何将对象反序列化为与python有关系的表
- java - 清单中存在的项目模型 (json) 中缺少标识符