当 HTML 中显示的变量值改变时,如何重新加载它?
How do you reload a variable shown in HTML when it changes value?
我的 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);,但我认为这只是重置了整个事情。
您可以将它分配给 <div>
而不是重新加载 <script>
标签吗?像这样:
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>
我的 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);,但我认为这只是重置了整个事情。
您可以将它分配给 <div>
而不是重新加载 <script>
标签吗?像这样:
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>