如何更改值时,如何重新加载HTML中显示的变量?

时间:2015-05-31 22:08:19

标签: javascript jquery html refresh reload

我的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);,但我认为这只会重置整个事情。

1 个答案:

答案 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>