【发布时间】:2018-10-29 19:36:31
【问题描述】:
我想确保所有 JavaScript 在页面加载之前发生。我正在更改一些 innerhtml,但不希望显示原始的 innerhtml。
目前,当我的页面加载时,“书籍”会显示片刻,然后最终在阅读脚本时,它会被替换。如何防止它显示初始文本?
仅供参考,脚本存在于 php 文件中。
<?php
?>
<script>
function changeme(){
var myvar = "test-string-is-long-to-notice-the-changed-text";
var spans = document.getElementsByTagName("span");
for(var i=0;i<spans.length; i++) {
if(spans[i].textContent.trim().toLowerCase()==="books") { //is this the "Welcome" span?
spans[i].innerHTML = myvar; //change to new value
break; //hop out of the loop, we're done
}
}
}
window.onload = function() {
changeme();
};
</script>
【问题讨论】:
-
如果页面的默认内容在页面加载后总是要更改,那么您需要重新考虑更改默认内容,而不是每次都动态更改。这个概念是您的默认显示应该是您希望页面显示的内容。任何额外的东西都应该是用户交互或插件应用的结果。但不是一个完整的销售,总是在页面加载时将 X 更改为 Y。只需从 Y 开始,不要强迫您的用户进行该处理。
标签: javascript php jquery html wordpress