【发布时间】:2018-04-17 21:12:37
【问题描述】:
所以我正在尝试使用 HTML 和 jQuery AJAX 制作模板。我遇到的问题是 HTML 会在收到我的结束标签之前自动结束标签,所以它会弄乱我的格式,我需要了解有关此的更多信息或更好的方法来做到这一点
JavaScript
$.post( "https://url.com/header.php", function(data){
$( "#header" ).after(data);
});
$.post( "https://url.com/footer.php", function(data){
$( "#footer" ).before(data);
});
这是我从服务器中提取的#header 文件中的开始标记
<div class='container-fixed'>
这是我的 #footer 文件的结束标记,我从服务器中提取
</div>
比我有我的 home.html 文件,这是我的模板页面与我的#header,#footer
<header id='header'></header>
<div>HELLO WORLD</div>
<footer id='header'></footer>
这就是我希望我的最终代码在页眉和页脚加载后的方式
<div class='container-fixed'>
<div>HELLO WORLD</div>
</div>
但这就是实际发生的事情
<div class='container-fixed'>
</div>
<div>HELLO WORLD</div>
浏览器没有将我的代码包装在容器文件中,它只是自行关闭我的容器 div,而不是在页脚文件中删除我的结束标记。我的代码比我在这个例子中使用的要复杂得多,但我只是想保持简单;我知道我可以将容器 div 添加到我的 home.html 中,但这不是我想要做的。任何解决方法?谢谢
我的问题是如何在一个文件中发送和未关闭的标签并在另一个文件中关闭它而不用浏览器为我做这件事。
【问题讨论】:
-
在拥有所有 html 之前不要追加到 DOM
-
document.getElementsByClassName("container-fixed")[0].children[0].innerHTML = "HELLO WORLD + whatever!!" -
@patrick 在我的情况下我该怎么做?
-
@cryptopat 那只是插入 hello world,我正在构建一个模板,所以内容比 hello world 多得多,我必须使用该容器 div 来包装我的所有页面
-
这样的模板只会增加更多的复杂性,而不是减少它。
标签: javascript jquery html ajax templates