javascript - 根据跨度值在页面加载时启用输入文本

标签 javascript html

我有一个网页,其中包含 <span>元素和<input>元素。 我的要求是动态启用/禁用 <input>元素基于<span>内部HTML。

我编写了以下 JavaScript:

var vale=document.getElementById("SPAN_ID").innerHTML;

但是值(value)是 undefined ,因为我猜页面加载跨度元素尚未构建。我必须仅在页面加载时间执行此操作。任何人都可以为此提供任何合适的javascript代码吗?

最佳答案

您可以使用DOMContentLoaded在运行代码之前等待 HTML 完全加载和解析的事件:

<script>
document.addEventListener('DOMContentLoaded', function () {
  var value = document.getElementById("the-span").innerHTML;

  if (value) {
    document.getElementById('the-input').disabled = false;
  }

 }, false);
 </script>

<span id="the-span">Hi, I'm the span</span>
<input id="the-input" value="I'm the input" disabled>

如果删除 span 元素内的文本,然后重新运行代码片段,您将看到输入框仍然处于禁用状态。

关于javascript - 根据跨度值在页面加载时启用输入文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47510160/

相关文章:

javascript - 如何使用asp.net mvc获取FormData对象并通过ajax提交表单数据

html - CSS:将背景图像拉伸(stretch)到屏幕的 100% 宽度和高度?

javascript - Instascan 无法在手机中使用

html - 如何通过css给图片添加url?

javascript - AngularJS - 指令中的动态开关案例

javascript - Safari 上的 CSS 网格和绝对定位

javascript - 在 mousemove 上旋转多组形状

javascript - 在 Adob​​e DTM 数据元素中寻找自定义脚本(使用 jQuery 捕获内部 HTML)?

javascript - Three.js 在 10 个随机对象上生成颜色

javascript - Liquid Grid——人们如何调用它