如何从外部 JavaScript 设置 HTML 元素的值
How to set the value for an HTML element from external javascript
我正在使用带有函数setval()
的外部javascript文件(例如:myjs.js
(来设置HTML标签的innerText
属性。
我有带有<lable id="abc"></lable>
的PHP页面,并且我已经<head>
部分中包含了myjs.js
。 myjs.js
包含在另一个 PHP 文件的<head>
部分中,我从该文件调用setval()
,因此当它运行时,它必须在第一个 PHP 文件中设置 lable innerText
。
有可能实现吗?任何建议将不胜感激。我希望我把问题说清楚了。
谢谢
理想情况下,将包含myjs.js
移动到页面底部(就在结束</body>
标记之前或之后(。那么它只是:
document.getElementById("abc").innerText = /* ...the text */;
现场示例 | 来源
如果由于某种原因无法移动包含,则可以将上面的代码放在函数中,例如:
function updateTheLabel() {
document.getElementById("abc").innerText = /* ...the text */;
}
。然后将此脚本放在标签之后:
<label id="abc"></label>
<script>
updateTheLabel();
</script>
现场示例 | 来源
如果您不想这样做(这有点丑陋,像这样将脚本标签混合到标记中(,您可以等待页面准备就绪时发生的某种事件。搜索"javascript dom ready event",你会看到很多关于这个问题的讨论,以及很多解决方案。如果您使用的是库 jQuery、Prototype 或其他几个库中的任何一个,那么该库为您提供一些东西的可能性很高(但不是 100%(。您可能不想等待 window
load
事件,因为它在页面加载过程中很晚(在加载所有外部资源 (图像等 (之后(触发。
在不知道你正在使用什么库(如果有的话(的情况下,无法做上述的活生生的例子;但同样,那里有几十个"dom ready"解决方案。
或者我想最坏的情况是,你可以投票,在myjs.js
使用它:
function updateTheLabel() {
var elm = document.getElementById("abc");
if (elm) {
elm.innerText = /* ...the text */;
}
else {
setTimeout(updateTheLabel, 50);
}
}
setTimeout(updateTheLabel, 0);
现场示例 | 来源
- 我应该怎么做才能避免在网页上移动元素(html、css、jQuery)
- 更改元素HTML,但忽略最后一个子项
- 增加在选择元素HTML中搜索的时间
- Jquery无法获取元素html
- 从所选元素 html 上方的元素获取属性值
- 在 JS 的单选按钮元素 (HTML) 中使用 title 属性
- 如何在页面上播放每个音频元素(HTML,JQuery,Javascript)
- 我需要一种新的方法来检测元素 HTML 是否有更改
- 获取父元素 html 以及子内容
- AngularJS指令:如何在ng-repeat中动态更改元素html
- html 属性中的引号被标记为 ”来自元素.html()的结果
- 在指令's链接中替换angular元素html
- 如果元素有子元素html元素
- 如何下推表格中的元素- HTML
- 如何在纯javascript中使用变量插入数组值,如元素HTML
- jQuery textilate .js -如何“重置”元素HTML并重新启动动画
- 将元素HTML附加到新附加的textarea中
- 在添加类的情况下,CSS 3的过渡是否不能与模板元素(HTML 5)一起工作?
- jQuery没有更新DOM元素HTML
- 在jQuery中更快地替换元素HTML