Jquery.load() 和我们要加载的文件中的脚本标签
Jquery.load() and script tags inside the file that we want to load
好吧,这很奇怪,但是很简单,当我尝试在我的页面更改主索引的某些内容之前加载时,我注意到出了点问题,因为它只显示了实际的年份“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?
的轻量级替代品
我对自己的解决方案进行了硬编码以使一切变得更简单,我创建了一个具有名为 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>
仅此而已!
好吧,这很奇怪,但是很简单,当我尝试在我的页面更改主索引的某些内容之前加载时,我注意到出了点问题,因为它只显示了实际的年份“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?
的轻量级替代品我对自己的解决方案进行了硬编码以使一切变得更简单,我创建了一个具有名为 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>
仅此而已!