我正在我的页面中重新加载div以反映用户已更新的变量。使用我现在的方法,变量通过脚本标记写入页面,脚本标记嵌入在正文中,如下所示:
的JavaScript
cat = 1;
$("a#foo").click(function() {
cat = cat + 1;
});
$("a#bar").click(function() {
$('#bat').load('./index.html #bat > *');
});
HTML
<a href="#" id="foo">add another cat</a>
<a href="#" id="bar">update count</a>
<div id="bat">
<script> document.write(cat); </script>
</div>
非常感谢任何想法或建议。这是一个jsfiddle,用于修补你的便利。
答案 0 :(得分:2)
您是否只是在点击链接时重新加载页面?我会说你做这样的事情,而不是在你的。中添加脚本标签。
HTML
<span id="numberOfCats"></span>
脚本
$("a#bar").click(function() {
$('#numberOfCats').text(cat)
});
答案 1 :(得分:1)
如果您不需要在后端使用您的变量,那么在没有ajax的情况下我会做得更好。
只需将$('#bat').load('./index.html #bat > *');
更改为$('#bat').text(cat);
您也可以在#foo点击中执行text(),这样您就不必手动更新计数器。
答案 2 :(得分:0)
如果你想从带有HTML的Ajax加载的脚本标签执行js代码 - 你需要使用$ .globalEval
$("a#bar").click(function() {
$('#bat').load('index.html #bat',function(newhtml){
// execute included script tags - assumes inline for now
$('script', newhtml).each(function() {
$.globalEval($(this).text());
});
});
});