嗯,这很奇怪,但是很简单,当我尝试在我的页面更改主索引的某些内容之前加载时,我注意到出现了问题,因为它只显示了实际的年份" 2017" ,现在我可以确认一下,因为创建了两个文件test1.html和test2.html发生了这种情况:
Test1.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
<script src="https://code.jquery.com/jquery-3.1.1.min.js"></script>
<script>
$(document).ready(function() {
$("#test").load("test2.html");
});
</script>
</head>
<body>
<div id="test"></div>
</body>
</html>
Test2.html
aaaaaaaaaaaaaa<br>
<script>document.write(new Date().getFullYear())</script>
结果:
那么,我该怎么做才能避免这种情况并毫无后顾之忧地展示一切? 尝试制作单独的功能既不起作用......
修改
现在,有人告诉我使用document.write是问题所在,我的问题是这是一个简单的解决方案,声明一个html元素以后写它的内容有点不那么简单和重,所以,我的实际问题是知道document.write是否有轻量级替换?
答案 0 :(得分:0)
我硬编码了我自己的解决方案,使一切变得简单,我创建了一个名为data-func
的数据属性的元素,后来我做到了这一点:
$(document).ready(function() {
var fncs = $('[data-func]');
fncs.each(function () {
$(this).text(window[$(this).data("func")]);
});
});
功能:
function getYear() {
return new Date().getFullYear();
}
元素:
<span data-func="getYear"></span>
这就是全部!