我的HTML在脚本标记内显示了一个变量,我只想重新加载该变量。
<script class="scriptClass">document.write(myObject.myProperty);</script>
<button>Go</button>
当一个函数运行时会改变myObject.myProperty的值,它需要在HTML中更新。 JavaScript是这样的:
var myObject = {
myProperty:"Initial"
};
function myPropertyChange(){
myObject.myProperty = "somethingDifferent";
}
jQuery的:
$(document).ready(function() {
$("button").click(function(){
myPropertyChange();
$("script.scriptClass").empty();
$("script.scriptClass").html("document.write(myObject.myProperty);");
});
});
这不起作用,我已经尝试使用.replaceWith和.replace对其进行了多种修改。我也尝试添加location.reload(true);,但我认为这只会重置整个事情。
答案 0 :(得分:1)
您可以将其分配给<script>
,而不是重新加载<div>
代码。像这样:
myObject = {};
myObject.myProperty = "Initial";
function myPropertyChange(){
myObject.myProperty = "somethingDifferent";
$("#theProperty").text(myObject.myProperty);
}
$(document).ready(function() {
$("#theProperty").text(myObject.myProperty);
$("button").click(function(){
myPropertyChange();
$("script.scriptClass").empty();
$("script.scriptClass").html("document.write(myObject.myProperty);");
});
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<span id="theProperty"></span>
<button>Go</button>